def finalize_run(self): self.logger.info('Run completed') with log.indentcontext(): for job in self.context.completed_jobs: job.finalize(self.context) self.logger.info('Finalizing run') self.context.end_run() self.pm.enable_all() with signal.wrap('RUN_OUTPUT_PROCESSED', self): self.pm.process_run_output(self.context) self.pm.export_run_output(self.context) self.pm.finalize(self.context) signal.disconnect(self._error_signalled_callback, signal.ERROR_LOGGED) signal.disconnect(self._warning_signalled_callback, signal.WARNING_LOGGED)
def test_job_retry_status(self): job_spec = get_jobspec() context = get_context() job = Job_force_retry(2, job_spec, 1, context) job.workload = Mock() context.cm._joblist = [job] context.run_state.add_job(job) verifier = lambda _: assert_equal(job.status, Status.PENDING) signal.connect(verifier, signal.JOB_RESTARTED) runner = Runner(context, MockProcessorManager()) runner.run() signal.disconnect(verifier, signal.JOB_RESTARTED)
def _warning_signalled_callback(self, _): self.warning_logged = True signal.disconnect(self._warning_signalled_callback, signal.WARNING_LOGGED)
def _error_signalled_callback(self, _): self.error_logged = True signal.disconnect(self._error_signalled_callback, signal.ERROR_LOGGED)
def tearDown(self): signal.disconnect(self._verify_restarted_job_status, signal.JOB_RESTARTED)
def tearDown(self): signal.disconnect(self._verify_serialized_state, signal.RUN_INITIALIZED) signal.disconnect(self._verify_serialized_state, signal.JOB_STARTED) signal.disconnect(self._verify_serialized_state, signal.JOB_RESTARTED) signal.disconnect(self._verify_serialized_state, signal.JOB_COMPLETED) signal.disconnect(self._verify_serialized_state, signal.JOB_FAILED) signal.disconnect(self._verify_serialized_state, signal.JOB_ABORTED) signal.disconnect(self._verify_serialized_state, signal.RUN_FINALIZED)
def _call_me_once(self): assert_equal(self.callback_ctr, 0) self.callback_ctr += 1 signal.disconnect(self._call_me_once, 'first') signal.disconnect(self._call_me_once, 'second')