12
Widzę dwa sposoby określania limitów czasu w concurrent.futures
.Indywidualne limity czasu dla concurrent.futures
as_completed()
wait()
obu metod obsługi N uruchomione przyszłości.
Chciałbym określić indywidualny limit czasu dla każdej przyszłości.
przypadków użycia:
- przyszłość dla pobierania danych z DB ma limit czasu 0,5 sek.
- Przyszłość pobierania danych z serwera HTTP ma limit czasu wynoszący 1,2 s.
Jak sobie z tym poradzić z concurrent.futures
? Czy ta biblioteka nie jest właściwym narzędziem?
Wnioski
- AFAIK roztworu przez mdurant jest dobrym obejście.
- Myślę, że następnym razem użyję innej biblioteki. Może asyncio ma lepsze wsparcie dla tego. Zobacz: https://docs.python.org/3/library/asyncio-task.html#asyncio.sleep
Tak, myślę, że jest to jedyne rozwiązanie. Niezbyt ładne, ale pracujące dookoła. Myślę, że użyję async io następnym razem: https://docs.python.org/3/library/asyncio-task.html#asyncio.sleep – guettli