Skip to content

Commit

Permalink
fix(api): run image workers as daemon procs
Browse files Browse the repository at this point in the history
  • Loading branch information
ssube committed Apr 11, 2023
1 parent 9a2f35e commit 1bfc7be
Showing 1 changed file with 8 additions and 5 deletions.
13 changes: 8 additions & 5 deletions api/onnx_web/worker/pool.py
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,7 @@ def create_device_worker(self, device: DeviceParams) -> None:
target=worker_main,
args=(context, self.server),
)
worker.daemon = True
self.workers[name] = worker

logger.debug("starting worker for device %s", device)
Expand Down Expand Up @@ -250,20 +251,23 @@ def join(self):
else:
logger.debug("worker for device %s has died", device)

logger.debug("stopping health worker")
self.health_worker.cancel()
self.health_worker.join(self.recycle_interval)

logger.debug("stopping progress worker")
self.progress_worker.join(self.join_timeout)
self.progress_worker.cancel()
self.progress_worker.join(self.progress_interval)

logger.debug("stopping logger worker")
self.logger_worker.join(self.join_timeout)

logger.debug("stopping health worker")
self.health_worker.join(self.join_timeout)

logger.debug("closing worker queues")
self.logs.close()

for queue in self.pending.values():
queue.close()

for queue in self.progress.values():
queue.close()

Expand Down Expand Up @@ -300,7 +304,6 @@ def join_leaking(self):
logger.debug(
"value error in leaking worker for device %s: %s", device, e
)
break
except Exception:
logger.exception("error in leaking worker for device %s", device)

Expand Down

0 comments on commit 1bfc7be

Please sign in to comment.