首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >concurrent.futures的个别超时

concurrent.futures的个别超时
EN

Stack Overflow用户
提问于 2016-07-19 10:47:48
回答 1查看 777关注 0票数 14

我看到了在concurrent.futures中指定超时的两种方法。

  • as_completed()
  • wait()

这两种方法都处理N个运行期货。

我想为每个未来指定一个单独的超时。

用例:

  • 将来从DB获取数据的超时时间为0.5秒。
  • 从HTTP服务器获取数据的未来超时时间为1.2秒。

我如何用concurrent.futures来处理这个问题?还是这个库不是正确的工具?

结论

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-25 20:10:07

如何实现自己的:

代码语言:javascript
复制
wait(dbfutures + httpfutures, timeout=0.5)
[fut.cancel() for fut in bdfutures if not fut.done()]
wait(httpfutures, timeout=0.7)
[fut.cancel() for fut in httpfutures if not fut.done()]

(或带睡眠/检查的while循环或超时时间较短的等待)

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38456357

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档