Python 并发事务的个别超时
我看到了两种在中指定超时的方法Python 并发事务的个别超时,python,concurrency,parallel-processing,concurrent.futures,Python,Concurrency,Parallel Processing,Concurrent.futures,我看到了两种在中指定超时的方法 as_completed() wait() 这两种方法都处理N个正在运行的未来 我想为每个将来指定一个单独的超时 用例: 将来从数据库获取数据的超时时间为0.5秒 将来从HTTP服务器获取数据的超时时间为1.2秒 我如何使用concurrent.futures?或者这个库不是正确的工具 结论 相信mdurant的解决方案是一个很好的解决方案 我想下次我会使用不同的图书馆。也许asyncio对此有更好的支持。见: 如何实施您自己的: wait(dbfutu
as_completed()
wait()
- 将来从数据库获取数据的超时时间为0.5秒
- 将来从HTTP服务器获取数据的超时时间为1.2秒
concurrent.futures
?或者这个库不是正确的工具
结论
- 相信mdurant的解决方案是一个很好的解决方案李>
- 我想下次我会使用不同的图书馆。也许asyncio对此有更好的支持。见:
- 如何实施您自己的:
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()]
(或者使用sleep/check进行while循环,或者使用短超时等待)是的,我认为这是唯一的解决方案。不太好,但是有一个工作环境。我想下次我会使用异步io: