【发布时间】:2016-11-22 05:17:09
【问题描述】:
我在concurrent.futures 中看到了两种指定超时的方法。
as_completed()wait()
这两种方法都处理 N 个正在运行的期货。
我想为每个未来指定一个单独的超时时间。
用例:
- 未来从 DB 获取数据的超时时间为 0.5 秒。
- 未来从 HTTP 服务器获取数据的超时时间为 1.2 秒。
如何使用concurrent.futures 处理这个问题?还是这个库不是正确的工具?
结论
- AFAIK mdurant 的解决方案是一个很好的解决方法。
- 我想我下次会使用不同的库。也许 asyncio 对此有更好的支持。见:https://docs.python.org/3/library/asyncio-task.html#asyncio.sleep
【问题讨论】:
标签: python concurrency parallel-processing concurrent.futures