我遇到间歇性错误。 我正在编写一个生产者-消费者模式,在其中我将创建多个流程,并将它们添加到列表中。
consumers = []
for i in range(cpu_count()):
p = Process(target=self.__execute_process, args=(queue, lock))
# This is critical! The consumer function has an infinite loop
# Which means it will never exit unless we set daemon to true
p.daemon = True
consumers.append(p)
然后,我将全部开始。
for c in consumers:
c.start()
pass
完成工作后,将工作推送到Queue
对象。我会用一条日志语句将它们全部加入。
for c in consumers: # to check if all consumers are done processing it
self._logger.info('joining consumers: {}. exit_code: {}'.format(c.pid, c.exitcode))
c.join()
pass
有时,其中1个进程的exit_code
中的-9
。我尝试添加BaseException
来捕获所有异常,但是没有一个被捕获。
当我用Google搜索时,找不到任何关于它们的信息。有没有人经历过类似的经历?