error handling in all threads
This commit is contained in:
parent
113ad05293
commit
06f06f5a11
|
@ -87,10 +87,13 @@ class DevicePoolExecutor:
|
||||||
logger.info("checking in from logger worker thread")
|
logger.info("checking in from logger worker thread")
|
||||||
|
|
||||||
while True:
|
while True:
|
||||||
job = logs.get()
|
try:
|
||||||
with open("worker.log", "w") as f:
|
job = logs.get()
|
||||||
logger.info("got log: %s", job)
|
with open("worker.log", "w") as f:
|
||||||
f.write(str(job) + "\n\n")
|
logger.info("got log: %s", job)
|
||||||
|
f.write(str(job) + "\n\n")
|
||||||
|
except Exception as err:
|
||||||
|
logger.error("error in log worker: %s", err)
|
||||||
|
|
||||||
logger_thread = Thread(target=logger_worker, args=(self.logs,))
|
logger_thread = Thread(target=logger_worker, args=(self.logs,))
|
||||||
self.threads["logger"] = logger_thread
|
self.threads["logger"] = logger_thread
|
||||||
|
@ -112,7 +115,7 @@ class DevicePoolExecutor:
|
||||||
)
|
)
|
||||||
self.context[device].set_cancel()
|
self.context[device].set_cancel()
|
||||||
except Exception as err:
|
except Exception as err:
|
||||||
logger.error("error during progress update", err)
|
logger.error("error in progress worker: %s", err)
|
||||||
|
|
||||||
progress_thread = Thread(target=progress_worker, args=(self.progress,))
|
progress_thread = Thread(target=progress_worker, args=(self.progress,))
|
||||||
self.threads["progress"] = progress_thread
|
self.threads["progress"] = progress_thread
|
||||||
|
@ -124,12 +127,15 @@ class DevicePoolExecutor:
|
||||||
def finished_worker(finished: Queue):
|
def finished_worker(finished: Queue):
|
||||||
logger.info("checking in from finished worker thread")
|
logger.info("checking in from finished worker thread")
|
||||||
while True:
|
while True:
|
||||||
job, device = finished.get()
|
try:
|
||||||
logger.info("job has been finished: %s", job)
|
job, device = finished.get()
|
||||||
context = self.context[device]
|
logger.info("job has been finished: %s", job)
|
||||||
_device, progress = self.active_jobs[job]
|
context = self.context[device]
|
||||||
self.finished_jobs.append((job, progress, context.cancel.value))
|
_device, progress = self.active_jobs[job]
|
||||||
del self.active_jobs[job]
|
self.finished_jobs.append((job, progress, context.cancel.value))
|
||||||
|
del self.active_jobs[job]
|
||||||
|
except Exception as err:
|
||||||
|
logger.error("error in finished worker: %s", err)
|
||||||
|
|
||||||
finished_thread = Thread(target=finished_worker, args=(self.finished,))
|
finished_thread = Thread(target=finished_worker, args=(self.finished,))
|
||||||
self.threads["finished"] = finished_thread
|
self.threads["finished"] = finished_thread
|
||||||
|
|
Loading…
Reference in New Issue