concurrent.futures 的个人超时

Individual timeouts for concurrent.futures

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

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

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

用例:

如何使用 concurrent.futures 处理这个问题?或者这个库不是正确的工具?

结论

如何实现自己的:

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 循环或短超时等待)