def set_job_state(self, job_state, sched_id, timestamp, status): """ This function sets the job state for this job. It also updates the times the main job and PRE/POST scripts start and finish. """ self._job_state = job_state self._job_state_timestamp = int(timestamp) # Increment job state sequence self._job_state_seq = self._job_state_seq + 1 # Set sched_id if we don't already have it... if self._sched_id is None: self._sched_id = sched_id # Record timestamp for certain job states if job_state == "PRE_SCRIPT_STARTED": self._pre_script_start = int(timestamp) elif (job_state == "PRE_SCRIPT_SUCCESS" or job_state == "PRE_SCRIPT_FAILURE"): self._pre_script_done = int(timestamp) self._pre_script_exitcode = utils.regular_to_raw(status) elif job_state == "POST_SCRIPT_STARTED": self._post_script_start = int(timestamp) elif job_state == "POST_SCRIPT_TERMINATED": self._post_script_done = int(timestamp) elif job_state == "EXECUTE": self._main_job_start = int(timestamp) elif job_state == "JOB_TERMINATED": self._main_job_done = int(timestamp) elif job_state == "JOB_SUCCESS" or job_state == "JOB_FAILURE": self._main_job_exitcode = utils.regular_to_raw(status) elif (job_state == "POST_SCRIPT_SUCCESS" or job_state == "POST_SCRIPT_FAILURE"): self._post_script_exitcode = utils.regular_to_raw(status)
def set_job_state(self, job_state, sched_id, timestamp, status): """ This function sets the job state for this job. It also updates the times the main job and PRE/POST scripts start and finish. """ self._job_state = job_state self._job_state_timestamp = int(timestamp) # Increment job state sequence self._job_state_seq = self._job_state_seq + 1 # Set sched_id if we don't already have it... if self._sched_id is None: self._sched_id = sched_id # Record timestamp for certain job states if job_state == "PRE_SCRIPT_STARTED": self._pre_script_start = int(timestamp) elif (job_state == "PRE_SCRIPT_SUCCESS" or job_state == "PRE_SCRIPT_FAILURE"): self._pre_script_done = int(timestamp) self._pre_script_exitcode = utils.regular_to_raw(status) elif job_state == "POST_SCRIPT_STARTED": self._post_script_start = int(timestamp) elif job_state == "POST_SCRIPT_TERMINATED": self._post_script_done = int(timestamp) elif job_state == "EXECUTE": self._main_job_start = int(timestamp) elif job_state == "JOB_TERMINATED": self._main_job_done = int(timestamp) elif job_state == "JOB_ABORTED": self._main_job_done = int(timestamp) # PM-805 job was aborted, good chance job terminated event did not happen. elif job_state == "JOB_SUCCESS" or job_state == "JOB_FAILURE": self._main_job_exitcode = utils.regular_to_raw(status) elif (job_state == "POST_SCRIPT_SUCCESS" or job_state == "POST_SCRIPT_FAILURE"): self._post_script_exitcode = utils.regular_to_raw(status)
def set_job_state(self, job_state, sched_id, timestamp, status): """ This function sets the job state for this job. It also updates the times the main job and PRE/POST scripts start and finish. """ self._job_state = job_state self._job_state_timestamp = int(timestamp) # Increment job state sequence self._job_state_seq = self._job_state_seq + 1 # Set sched_id if we don't already have it... if self._sched_id is None: self._sched_id = sched_id # Record timestamp for certain job states if job_state == "PRE_SCRIPT_STARTED": self._pre_script_start = int(timestamp) elif job_state == "PRE_SCRIPT_SUCCESS" or job_state == "PRE_SCRIPT_FAILURE": self._pre_script_done = int(timestamp) self._pre_script_exitcode = utils.regular_to_raw(status) elif job_state == "POST_SCRIPT_STARTED": self._post_script_start = int(timestamp) elif job_state == "POST_SCRIPT_TERMINATED": self._post_script_done = int(timestamp) elif job_state == "EXECUTE": self._main_job_start = int(timestamp) elif job_state == "JOB_TERMINATED": self._main_job_done = int(timestamp) elif ( job_state == "JOB_ABORTED" or job_state == "SUBMIT_FAILED" or job_state == "GLOBUS_SUBMIT_FAILED" or job_state == "GRID_SUBMIT_FAILED" ): self._main_job_done = int( timestamp ) # PM-805, PM-877 job was aborted or submit failed, good chance job terminated event did not happen. elif job_state == "JOB_SUCCESS" or job_state == "JOB_FAILURE": self._main_job_exitcode = utils.regular_to_raw(status) elif job_state == "POST_SCRIPT_SUCCESS" or job_state == "POST_SCRIPT_FAILURE": self._post_script_exitcode = utils.regular_to_raw(status) if self._main_job_done is None: # PM-1016 Missing JOB_TERMINATED event. self._main_job_done = int(timestamp)