1
0
Fork 0

feat(api): log errors from background jobs

This commit is contained in:
Sean Sube 2023-02-04 11:56:34 -06:00
parent f5039d800d
commit 53f492459f
Signed by: ssube
GPG Key ID: 3EED7B957D362AF1
1 changed files with 9 additions and 0 deletions

View File

@ -125,5 +125,14 @@ class DevicePoolExecutor:
job = Job(key, future, context)
self.jobs.append(job)
def job_done(f: Future):
try:
f.result()
logger.info('job %s finished successfully', key)
except Exception as err:
logger.warn('job %s failed with an error: %s', key, err)
future.add_done_callback(job_done)
def status(self) -> Dict[str, Tuple[bool, int]]:
return [(job.key, job.future.done(), job.get_progress()) for job in self.jobs]