diff --git a/api/onnx_web/device_pool.py b/api/onnx_web/device_pool.py index d142556fb..7d70bb811 100644 --- a/api/onnx_web/device_pool.py +++ b/api/onnx_web/device_pool.py @@ -125,5 +125,14 @@ def submit(self, key: str, fn: Callable[..., None], /, *args, **kwargs) -> None: 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] \ No newline at end of file