Diskussion: FastAPI's Async und Hintergrundarbeit in Sync über Queues und Threads verbinden.
by Martin Borus
Wer hat Erfahrung mit der Async/Sync Programmierung und möchte sich darüber austauschen?
Das Thema:
Neue Web Frameworks, wie z.B. das populäre FastAPI funktionieren besonders gut, wenn man diese asynchron nutzt.
Was macht man aber, wenn die zu erledigende Arbeit nur strikt synchron läuft?
Ein Lösungsansatz ist es, eine "Queue" aus der Standard-Library zu nutzen, wie z.B eine Priority Queue. Der asynchrone Code schreibt einen Task in diese Queue. Ein synchroner Hintergrundsthread, arbeitet diese in einer Reihenfolge ab.
Ich möchte darüber diskutieren, wie man asynchron am Besten auf die Abarbeitung warten kann - unter Berücksichtung, dass es Timeouts geben kann, einige Tasks überhaupt nicht beantwortet werden und dass die Reihenfolge der Abarbeitung sich anhand einer Priorität ändert kann.
Spannend ist es, was die beste Lösung ist, es nur mit der Standard-Library (und FastAPI) zu machen, genauso interessant sind Erfahrungen mit anderen Libraries.