1
0
Fork 0
onnx-web/api/onnx_web/worker/worker.py

41 lines
1.1 KiB
Python
Raw Normal View History

2023-02-26 05:49:39 +00:00
from logging import getLogger
from torch.multiprocessing import Lock
from time import sleep
2023-02-26 05:55:30 +00:00
from traceback import print_exception
2023-02-26 05:49:39 +00:00
from .context import WorkerContext
logger = getLogger(__name__)
def logger_init(lock: Lock, context: WorkerContext):
logger.info("checking in from logger")
with open("worker.log", "w") as f:
while True:
if context.pending.empty():
logger.info("no logs, sleeping")
sleep(5)
else:
job = context.pending.get()
logger.info("got log: %s", job)
f.write(str(job) + "\n\n")
def worker_init(lock: Lock, context: WorkerContext):
logger.info("checking in from worker")
while True:
if context.pending.empty():
logger.info("no jobs, sleeping")
sleep(5)
else:
job = context.pending.get()
logger.info("got job: %s", job)
2023-02-26 05:55:30 +00:00
try:
fn, args, kwargs = job
fn(context, *args, **kwargs)
logger.info("finished job")
except Exception as e:
print_exception(type(e), e, e.__traceback__)