我想知道是否可以检查每个进程需要多长时间。
例如,有四名 worker ,工作应该不超过 10 秒,但其中一名 worker 需要超过 10 秒。有没有办法在 10 秒后和进程完成工作之前发出警报。
我最初的想法是使用管理器,但似乎我必须等到流程完成。
非常感谢。
最佳答案
您可以在尝试加入后检查进程是否存活。不要忘记设置超时,否则它会等到作业完成。
给你一个简单的例子
from multiprocessing import Process
import time
def task():
import time
time.sleep(5)
procs = []
for x in range(2):
proc = Process(target=task)
procs.append(proc)
proc.start()
time.sleep(2)
for proc in procs:
proc.join(timeout=0)
if proc.is_alive():
print "Job is not finished!"
关于Python multiprocessing - 检查每个进程的状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39773377/