Example #1
0
 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()
Example #2
0
 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}")
Example #3
0
    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()
Example #4
0
 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")
Example #5
0
 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")
Example #6
0
 def _report_canceled(self, job: Job):
     self._canceled = True
     job.status = JobStatus.canceled
     job.progress = None
     job.save()
Example #7
0
 def _report_progress(self, job: Job, progress: Dict[str, Any]):
     self._progress = progress
     self._progress_time = time.time()
     job.progress = progress
     job.save()