62. pepsi-queue¶
Inspiziert und repariert die Nachrichten-Warteschlange.
62.1. Rolle¶
pepsi-queue ist das Diagnose- und Reparaturwerkzeug des Operators für die pepsi.workqueue-Tabelle. Es verbindet sich über den gemeinsamen [pepsi-postgres]-Abschnitt und hat keine eigene Konfiguration. Als root gestartet, läuft es vor dem Verbinden als Dienstkonto pepsi weiter, sodass kein sudo -u pepsi nötig ist. Referenz: pepsi-queue(1).
62.2. Funktionen¶
list — listet die eingereihten Nachrichten nach
workqueue_idgeordnet auf, wahlweise als--json(workqueue_id,stage,status,mail_from,subject,received_at,state), mit--limit(standardmäßig 100), den Filtern--stageund--status, einem optionalen positionalen WORKQUEUE_ID, das die Ausgabe auf eine Nachricht beschränkt, und--state-only, um statt der Datensatzzusammenfassung den vollständigen, ungekürzten JSON-statejeder passenden Nachricht auszugeben.listist die Standardaktion, sein positionales Argument und seine Optionen werden daher auch ohne Unterbefehl angenommen (pepsi-queue 5,pepsi-queue --state-only 5).delete WORKQUEUE_ID — entfernt eine Nachricht dauerhaft.
set-stage WORKQUEUE_ID STAGE — weist eine Nachricht einer gegebenen Stage neu zu und setzt ihren
statusaufpendingzurück (ihrstatebleibt unverändert), damit die neue Stage sie aufnimmt.clear-all — massenhaftes „Losmachen“: setzt jede
running/paused-Nachricht zurück aufpending(failed/timeoutbleiben unberührt) — die Wiederherstellung nach einem Absturz oder einer ins Stocken geratenen Stage.gc — räumt die Nonce-Tabelle des Herkunftsnachweises auf (
pepsi.origin_nonce) und löscht Einträge, deren Ablaufzeit vorüber ist, ebenso den MX-Adress-Cache (pepsi.dns_address), aus dem Datensätze gelöscht werden, deren DNS-TTL abgelaufen ist. Für einen Timer gedacht; das Debian-Paket richtet einen stündlichen ein.
Die verändernden Unterbefehle wirken sofort und sind nicht umkehrbar. set-stage und clear-all wecken zusätzlich den Dispatcher (pepsi.workqueue trägt keinen benachrichtigenden Trigger, und diese Befehle laufen außerhalb der Schleife des Dispatchers, sodass es sonst nichts täte). Führen Sie ``clear-all`` nur aus, während ``pepsi-dispatch`` gestoppt ist: Die running-Hälfte benennt Datensätze, die ein lebender Worker noch halten könnte, und sie zurückzusetzen bedeutet, dass dieselbe Nachricht zweimal beansprucht und bearbeitet wird.
62.3. Verhältnis zum Dispatcher¶
pepsi-queue verändert dieselben stage/status/state-Spalten, auf denen der Dispatcher arbeitet; clear-all ergänzt das Zurücksetzen verwaister running-Datensätze, das der Dispatcher beim Start selbst vornimmt. Es startet keine Stage-Programme.