def job_final_status(self, job_id, *_args, **_kwargs): start_time = time.time() status_response = self.job_status(job_id) while ApiJobStatus(status_response['status']) not in API_JOB_FINAL_STATES: elapsed_time = time.time() - start_time timeout = _kwargs.get('timeout', None) if timeout is not None and elapsed_time >= timeout: raise UserTimeoutExceededError( 'Timeout while waiting for job {}'.format(job_id)) time.sleep(5) status_response = self.job_status(job_id) return status_response
def job_final_status(self, job_id, *_args, **_kwargs): """Wait until the job progress to a final state.""" if self._fail_count != 0: self._fail_count -= 1 raise UserTimeoutExceededError('Job timed out!') return super().job_final_status(job_id, *_args, **_kwargs)