Я вижу два способа указать тайм-ауты в concurrent.futures
.
-
as_completed()
-
wait()
Оба метода обрабатывают N фьючерсов.
Я хотел бы указать индивидуальный тайм-аут для каждого будущего.
Случай использования:
- Будущее для получения данных из БД имеет таймаут 0,5 с.
- Будущее для получения данных с HTTP-сервера имеет тайм-аут в 1,2 секунды.
Как мне обрабатывать это с помощью concurrent.futures
? Или эта библиотека не подходит?
Заключение
- AFAIK решение mdurant - хорошая работа.
- Я думаю, что в следующий раз я буду использовать другую библиотеку. Возможно, асинчио лучше поддерживает это. См.: https://docs.python.org/3/library/asyncio-task.html#asyncio.sleep