Changeset 87 for trunk/pbs_drmaa
- Timestamp:
- 02/11/13 14:10:39 (12 years ago)
- Location:
- trunk/pbs_drmaa
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/pbs_drmaa/job.c
r85 r87 82 82 fsd_log_enter(( "({job_id=%s}, action=%d)", self->job_id, action )); 83 83 84 while ( true ) 85 { 86 switch( action ) 87 { 88 /* 89 * We cannot know whether we did suspend job 90 * in other way than remembering this inside DRMAA session. 91 */ 92 case DRMAA_CONTROL_SUSPEND: 93 session->pbs_connection->sigjob( session->pbs_connection, (char*)job_id, "SIGSTOP"); 94 self->flags |= FSD_JOB_SUSPENDED; 95 break; 96 case DRMAA_CONTROL_RESUME: 97 session->pbs_connection->sigjob( session->pbs_connection, (char*)job_id, "SIGCONT"); 98 self->flags &= ~FSD_JOB_SUSPENDED; 99 break; 100 case DRMAA_CONTROL_HOLD: 101 session->pbs_connection->holdjob( session->pbs_connection, (char*)job_id ); 102 self->flags |= FSD_JOB_HOLD; 103 break; 104 case DRMAA_CONTROL_RELEASE: 105 session->pbs_connection->rlsjob( session->pbs_connection, (char*)job_id ); 106 self->flags &= ~FSD_JOB_HOLD; 107 break; 108 case DRMAA_CONTROL_TERMINATE: 109 session->pbs_connection->deljob( session->pbs_connection, (char*)job_id ); 110 /* TODO: make deldelay configurable ???: 111 * deldelay=N -- delay between SIGTERM and SIGKILL (default 0) */ 112 self->flags &= FSD_JOB_TERMINATED_MASK; 113 if( (self->flags & FSD_JOB_TERMINATED) == 0 ) 114 self->flags |= FSD_JOB_TERMINATED | FSD_JOB_ABORTED; 115 break; 116 } 84 switch( action ) 85 { 86 /* 87 * We cannot know whether we did suspend job 88 * in other way than remembering this inside DRMAA session. 89 */ 90 case DRMAA_CONTROL_SUSPEND: 91 session->pbs_connection->sigjob( session->pbs_connection, (char*)job_id, "SIGSTOP"); 92 self->flags |= FSD_JOB_SUSPENDED; 93 break; 94 case DRMAA_CONTROL_RESUME: 95 session->pbs_connection->sigjob( session->pbs_connection, (char*)job_id, "SIGCONT"); 96 self->flags &= ~FSD_JOB_SUSPENDED; 97 break; 98 case DRMAA_CONTROL_HOLD: 99 session->pbs_connection->holdjob( session->pbs_connection, (char*)job_id ); 100 self->flags |= FSD_JOB_HOLD; 101 break; 102 case DRMAA_CONTROL_RELEASE: 103 session->pbs_connection->rlsjob( session->pbs_connection, (char*)job_id ); 104 self->flags &= ~FSD_JOB_HOLD; 105 break; 106 case DRMAA_CONTROL_TERMINATE: 107 session->pbs_connection->deljob( session->pbs_connection, (char*)job_id ); 108 /* TODO: make deldelay configurable ???: 109 * deldelay=N -- delay between SIGTERM and SIGKILL (default 0) */ 110 self->flags &= FSD_JOB_TERMINATED_MASK; 111 if( (self->flags & FSD_JOB_TERMINATED) == 0 ) 112 self->flags |= FSD_JOB_TERMINATED | FSD_JOB_ABORTED; 113 break; 117 114 } 118 115 -
trunk/pbs_drmaa/pbs_conn.c
r86 r87 53 53 static void pbsdrmaa_pbs_holdjob( pbsdrmaa_pbs_conn_t *self, char *job_id ); 54 54 55 static void pbsdrmaa_pbs_connection_autoclose_thread_loop( pbsdrmaa_pbs_conn_t *self, bool reconnect); 55 /* static void pbsdrmaa_pbs_connection_autoclose_thread_loop( pbsdrmaa_pbs_conn_t *self, bool reconnect); */ 56 56 57 57 … … 111 111 112 112 if (self->connection_fd != -1) 113 { 114 fsd_log_info(( "pbs_disconnect(%d)", self->connection_fd )); 113 115 pbs_disconnect(self->connection_fd); 116 } 114 117 } 115 118 … … 132 135 if(self != NULL) 133 136 { 137 if (self->connection_fd != -1) 138 { 139 fsd_log_info(( "pbs_disconnect(%d)", self->connection_fd )); 140 pbs_disconnect(self->connection_fd); 141 142 } 134 143 fsd_free(self->server); 135 144 fsd_free(self); 136 137 if (self->connection_fd != -1)138 pbs_disconnect(self->connection_fd);139 145 } 140 146 } … … 220 226 status = pbs_statjob(self->connection_fd, job_id, attrib, NULL); 221 227 222 fsd_log_info(( "pbs_statjob( fd=%d, job_id=%s, attribs={...} ) = %p", self->connection_fd, job_id, (void*)status));228 fsd_log_info(( "pbs_statjob( fd=%d, job_id=%s, attribs={...} ) = %p", self->connection_fd, job_id, (void*)status)); 223 229 224 230 if(status == NULL) … … 230 236 else if (IS_TRANSIENT_ERROR && first_try) 231 237 { 232 fsd_log_ error(( "pbs_statjob failed, pbs_errno = %d", pbs_errno ));238 fsd_log_info(( "pbs_statjob failed, pbs_errno = %d, retrying", pbs_errno )); 233 239 check_reconnect(self, true); 234 240 first_try = false; … … 344 350 if(rc != PBSE_NONE) 345 351 { 346 fsd_log_error(( "pbs_deljob failed, rc = %d, pbs_errno = %d", rc, pbs_errno ));347 352 if (IS_TRANSIENT_ERROR && first_try) 348 353 { 354 fsd_log_info(( "pbs_deljob failed, rc = %d, pbs_errno = %d. Retrying...", rc, pbs_errno )); 349 355 check_reconnect(self, true); 350 356 first_try = false; … … 491 497 else 492 498 { 493 stop_autoclose_thread(self);499 fsd_log_info(( "pbs_disconnect(%d)", self->connection_fd )); 494 500 pbs_disconnect(self->connection_fd); 495 501 self->connection_fd = -1; … … 501 507 retry_connect: /* Life... */ 502 508 self->connection_fd = pbs_connect( self->server ); 503 fsd_log_info(( "pbs_connect(%s) = %d", self->server, self->connection_fd ));509 fsd_log_info(( "pbs_connect(%s) = %d", self->server, self->connection_fd )); 504 510 if( self->connection_fd < 0 && tries_left-- ) 505 511 { -
trunk/pbs_drmaa/submit.c
r85 r87 206 206 207 207 job_id = ((pbsdrmaa_session_t *)self->session)->pbs_connection->submit( ((pbsdrmaa_session_t *)self->session)->pbs_connection, (struct attropl*)pbs_attr, self->script_filename, self->destination_queue); 208 209 fsd_log_info(("pbs_submit(%s, %s) =%s", self->script_filename, self->destination_queue, job_id));210 208 211 209 }
Note: See TracChangeset
for help on using the changeset viewer.