12
Vedo due modi per specificare i timeout in concurrent.futures
.Timeout individuali per concurrent.futures
as_completed()
wait()
Entrambi i metodi maniglia N future esecuzione.
Vorrei specificare un singolo timeout per ciascun futuro.
caso d'uso:
- futuro per ottenere i dati da DB ha un timeout di 0,5 secondi.
- Il futuro per ottenere dati da un server HTTP ha un timeout di 1,2 secondi.
Come gestirlo con concurrent.futures
? O questa libreria non è lo strumento giusto?
Conclusione
- per quanto ne so la soluzione mdurant è un buon work-around.
- Penso che userò una libreria diversa la prossima volta. Forse Asyncio ha un supporto migliore per questo. Vedere: https://docs.python.org/3/library/asyncio-task.html#asyncio.sleep
Sì, penso che questa è l'unica soluzione. Non è bello, ma funziona in modo approssimativo. Penso che userò async io la prossima volta: https://docs.python.org/3/library/asyncio-task.html#asyncio.sleep – guettli