예제 #1
0
파일: job.c 프로젝트: eliv/slurm-drmaa-1
fsd_job_t *
slurmdrmaa_job_new( char *job_id )
{
	slurmdrmaa_job_t *self = NULL;
	self = (slurmdrmaa_job_t*)fsd_job_new( job_id );

	fsd_realloc( self, 1, slurmdrmaa_job_t );

	self->super.control = slurmdrmaa_job_control;
	self->super.update_status = slurmdrmaa_job_update_status;
	self->super.on_missing = slurmdrmaa_job_on_missing;
	self->old_priority = UINT32_MAX;
	self->user_suspended = true;
	return (fsd_job_t*)self;
}
예제 #2
0
fsd_job_t *
lsfdrmaa_job_new( char *job_id )
{
	lsfdrmaa_job_t *self = NULL;
	LS_LONG_INT int_job_id;
	int_job_id = lsfdrmaa_job_id_atoi( job_id );
	self = (lsfdrmaa_job_t*)fsd_job_new( job_id );
	fsd_realloc( self, 1, lsfdrmaa_job_t );
	self->super.control = lsfdrmaa_job_control;
	self->super.update_status = lsfdrmaa_job_update_status;
	self->read_job_info = lsfdrmaa_job_read_job_info;
	self->super.on_missing = lsfdrmaa_job_on_missing;
	self->int_job_id = int_job_id;
	return (fsd_job_t*)self;
}
예제 #3
0
fsd_drmaa_session_t *
slurmdrmaa_session_new( const char *contact )
{
	slurmdrmaa_session_t *volatile self = NULL;
	TRY
	 {
		self = (slurmdrmaa_session_t*)fsd_drmaa_session_new(contact);

		fsd_realloc( self, 1, slurmdrmaa_session_t );

		self->super.run_job = slurmdrmaa_session_run_job;
		self->super.run_bulk = slurmdrmaa_session_run_bulk;
		self->super.new_job = slurmdrmaa_session_new_job;

		self->super.load_configuration( &self->super, "slurm_drmaa" );
	 }
	EXCEPT_DEFAULT
	 {
		fsd_free( self );
		fsd_exc_reraise();
	 }
	END_TRY
	return (fsd_drmaa_session_t*)self;
}