python - 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 解决方案。
解决方案
推荐阅读
- c# - 使用 SearchBar 过滤 SQLite 数据库
- angular - Angular 9:将来自 url 的参数一起传递给表单参数
- android - 即使在应用程序被杀死后 Dagger AppComponent 是否可用
- php - 确定现在与存储的日期和时间之间的时间差
- pandas - 分组数据框中所选行的平均值
- android - Android 上的原生调试
- javascript - 在 reactjs 中创建新应用时出错
- apache-kafka - 减少 Kafka 集群内的网络请求
- pgadmin - PGAdmin - 将空日期值导入 postgres
- python - 部署一个简单的 Python 机器人