12
Ich sehe zwei Möglichkeiten, Timeouts in concurrent.futures
anzugeben.Individuelle Timeouts für gleichzeitige.Futures
as_completed()
wait()
Beide Methoden behandeln laufenden Futures-N.
Ich möchte ein individuelles Timeout für jede Zukunft angeben.
Use Case:
- Zukunft für Daten von DB bekommen hat einen Timeout von 0,5 Sekunden.
- Die Zukunft für das Abrufen von Daten von einem HTTP-Server hat eine Zeitüberschreitung von 1,2 Sekunden.
Wie gehe ich mit concurrent.futures
um? Oder ist diese Bibliothek nicht das richtige Werkzeug?
Fazit
- AFAIK der Lösung durch mdurant ist eine gute Work-around.
- Ich denke, ich werde das nächste Mal eine andere Bibliothek verwenden. Vielleicht hat asyncio eine bessere Unterstützung dafür. Siehe: https://docs.python.org/3/library/asyncio-task.html#asyncio.sleep
Ja, ich denke, das ist die einzige Lösung ist. Nicht nett, aber eine Arbeitsumgehung. Ich denke, ich werde das nächste Mal async io verwenden: https://docs.python.org/3/library/asyncio-task.html#asyncio.sleep – guettli