def _report_error(self, job: Job, error: str): self._errored = True self._error = error job.status = JobStatus.error job.error = error job.progress = None job.save()
def _update_job_error(self, job: Job, err: Any): _LOGGER.debug(f"Job {job.job_id} errored, saving to DB") job.status = JobStatus.canceled job.error = err job.progress = None job.save() _LOGGER.warning(f"Job {job.job_id} errored out {err}")
def _update_job_progress(self, job: Job, state: _JobExecutionState, progress: Dict): # update the progress max 5 times a second to not hammer the DB if ( state.db_progress_saved_time and time.time() - state.db_progress_saved_time < 0.2 ): return _LOGGER.debug(f"Job {job.job_id} saving progress to DB") job.progress = progress job.save() state.db_progress_saved_time = time.time()
def _update_job_canceled(self, job: Job): _LOGGER.debug(f"Job {job.job_id} cancel requested, saving in DB") job.status = JobStatus.canceled job.progress = None job.save() _LOGGER.info(f"Job {job.job_id} canceled in DB")
def _update_job_completed(self, job: Job): _LOGGER.debug(f"Job {job.job_id} completed, saving DB state") job.status = JobStatus.completed job.progress = None job.save() _LOGGER.info(f"Job {job.job_id} completed in JobWorkerManager")
def _report_canceled(self, job: Job): self._canceled = True job.status = JobStatus.canceled job.progress = None job.save()
def _report_progress(self, job: Job, progress: Dict[str, Any]): self._progress = progress self._progress_time = time.time() job.progress = progress job.save()