1
0
Fork 0

set process titles, terminate workers

This commit is contained in:
Sean Sube 2023-02-26 13:09:24 -06:00
parent 6502e1e3c8
commit b880b7a121
Signed by: ssube
GPG Key ID: 3EED7B957D362AF1
4 changed files with 9 additions and 1 deletions

View File

@ -135,10 +135,12 @@ class DevicePoolExecutor:
if proc.is_alive(): if proc.is_alive():
logger.debug("shutting down worker for device %s", name) logger.debug("shutting down worker for device %s", name)
proc.join(5) proc.join(5)
proc.terminate()
else: else:
logger.warning("worker for device %s has died", name) logger.warning("worker for device %s has died", name)
self.workers[name] = None self.workers[name] = None
del proc
logger.info("starting new workers") logger.info("starting new workers")
@ -161,6 +163,7 @@ class DevicePoolExecutor:
**kwargs, **kwargs,
) -> None: ) -> None:
self.job_count += 1 self.job_count += 1
logger.debug("pool job count: %s", self.job_count)
if self.job_count > 10: if self.job_count > 10:
self.recycle() self.recycle()
self.job_count = 0 self.job_count = 0

View File

@ -3,6 +3,7 @@ import torch # has to come before ORT
from onnxruntime import get_available_providers from onnxruntime import get_available_providers
from torch.multiprocessing import Lock, Queue from torch.multiprocessing import Lock, Queue
from traceback import format_exception from traceback import format_exception
from setproctitle import setproctitle
from .context import WorkerContext from .context import WorkerContext
from ..server import ServerContext, apply_patches from ..server import ServerContext, apply_patches
@ -14,6 +15,8 @@ def logger_init(lock: Lock, logs: Queue):
with lock: with lock:
logger.info("checking in from logger, %s", lock) logger.info("checking in from logger, %s", lock)
setproctitle("onnx-web logger")
while True: while True:
job = logs.get() job = logs.get()
with open("worker.log", "w") as f: with open("worker.log", "w") as f:
@ -26,6 +29,7 @@ def worker_init(lock: Lock, context: WorkerContext, server: ServerContext):
logger.info("checking in from worker, %s, %s", lock, get_available_providers()) logger.info("checking in from worker, %s, %s", lock, get_available_providers())
apply_patches(server) apply_patches(server)
setproctitle("onnx-web worker: %s", context.device.device)
while True: while True:
job = context.pending.get() job = context.pending.get()

View File

@ -23,3 +23,4 @@ flask
flask-cors flask-cors
jsonschema jsonschema
pyyaml pyyaml
setproctitle

View File

@ -14,5 +14,5 @@ do
--insecure || break; --insecure || break;
((test_images++)); ((test_images++));
echo "waiting after $test_images"; echo "waiting after $test_images";
sleep 10; sleep 30;
done done