concurrent.futures的各个超时

gue*_*tli 12 python parallel-processing concurrency concurrent.futures

我看到两种指定超时的方法concurrent.futures.

  • as_completed()
  • wait()

两种方法都处理N运行期货.

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

使用案例:

  • 从数据库获取数据的未来超时为0.5秒.
  • 从HTTP服务器获取数据的未来超时为1.2秒.

我该如何处理concurrent.futures?或者这个库不是正确的工具吗?

结论

mdu*_*ant 5

如何实现自己的:

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()]
Run Code Online (Sandbox Code Playgroud)

(或者带有睡眠/检查的while循环或等待短暂超时)