首页 > 解决方案 > gevent 作业在超时后没有停止

问题描述

我几乎没有要同时运行的作业,并且想给整个执行一个超时。我的代码:

try:
    jobs = [gevent.spawn(single_job, x,y) for single_job in job_list]
    _ = gevent.joinall(jobs,timeout=timeout_in_seconds,raise_error=True)
except gevent.Timeout:
    print ("Timed out.")

即使在我的超时限制之后,也永远不会达到打印。我尝试在以下条件下运行生成作业:

with Timeout(timeout_in_seconds, False):

但结果相同。我仅限于 python 2 兼容代码,所以不能使用 python 3 解决方案。

标签: pythonconcurrencygevent

解决方案


推荐阅读