def run(self):
while True:
try:
next_task = self.task_queue.get()
if not next_task:
# print("%s Poisoned" % multiprocessing.current_process().name, file=sys.stderr)
self.task_queue.task_done()
break
try:
result = next_task()
self.result_queue.put(result)
except Exception as e:
if self.exception_handling == ExceptionHandling.IGNORE:
# print("%s Exception: %s" % (multiprocessing.current_process().name, e), file=sys.stderr)
# print("%s IGNORE error" % multiprocessing.current_process().name, file=sys.stderr)
pass
elif self.exception_handling == ExceptionHandling.THROW: # Caution
self.task_queue.task_done()
raise e
else: # Special Token
self.result_queue.put(self.exception_handling)
self.task_queue.task_done()
except Exception as e:
raise e
pass
评论列表
文章目录