Manche Arbeit dauert zu lange, um jemanden währenddessen vor dem Bildschirm warten zu lassen. Ein PDF über hundert Seiten. Tausend Mails. Ein Upload bei einem fremden System. Eine Warteschlange trennt das Anstoßen vom Ausführen.
Der Ablauf ist schlicht. Die Anfrage legt einen Auftrag in die Warteschlange und antwortet sofort. Ein separater Prozess, der Worker, nimmt Aufträge heraus und arbeitet sie ab. Geht etwas schief, wird der Auftrag erneut versucht.
Was das im Betrieb bedeutet
Warteschlangen sind kein reines Entwicklungsthema, sondern verändern den Betrieb. Es gibt jetzt einen zusätzlichen dauerhaft laufenden Prozess, der überwacht und nach einem Deployment neu gestartet werden muss, weil er sonst weiter mit altem Code arbeitet.
In gewachsenen Anwendungen ist der häufigste Fehler kein kaputter Auftrag. Es ist ein Worker, der seit Wochen nicht läuft. Nach außen wirkt alles normal, im Hintergrund passiert nur nichts mehr. Deshalb gehören Länge der Warteschlange und Zahl der fehlgeschlagenen Aufträge zu den Werten, die wir in der Wartung im Blick behalten.