In meinem Projekt verwende ich Beanstalkd für die Warteschlangenverarbeitung. Manchmal bleiben Jobs hängen, obwohl ich diese Warteschlangenjobs debuggen möchte. Mark Needham hat einen tollen Blog geschrieben darüber, wie Sie einen Überblick über Beanstalkd-Jobs erhalten.
Verbinden
Vorausgesetzt, Beanstalkd ist installiert, stellen Sie über Telnet eine Verbindung zur Konsole her:
Telnet Localhost 11300
Überblick verschaffen
Verwenden Sie den Befehl:
Statistiken
Sie erhalten eine Ausgabe wie:
aktuelle Jobs dringend: 0 aktuelle Jobs bereit: 2 aktuelle Jobs reserviert: 0 aktuelle Jobs verzögert: 0 aktuelle Jobs begraben: 0 cmd-put: 66 ... aktuelle Verbindungen: 6 aktuelle Produzenten: 1 aktuelle Arbeiter: 1 aktuell wartend: 1 Gesamtverbindungen: 58 PID: 15622 Version: 1.4.6 Rusage-Utime: 0,000000 Rusage-Stime: 0,040002 Betriebszeit: 22740 ältester Binlog-Index: 0 aktueller Binlog-Index: 0 maximale Binlog-Größe: 10485760
Auflisten des ersten fertigen Jobs
Um einen konkreten fertigen Job anzuzeigen, verwenden Sie den Befehl:
Peek-bereit
In Bezug auf Laravel können Sie ein Job-Ergebnis zurückerhalten
{"job":"Illuminate\\Queue\\CallQueuedHandler@call","data":{"...........job\";N;}"}}
Wenn der Auftrag Bestand hat, können Sie Aufträge löschen, indem Sie einen Handwerker-Warteschlange: Paket löschen. Anschließend können Sie den folgenden Befehl ausführen:
PHP Artisan-Warteschlange: löschen
Wenn Ihr Daemon auch Bestand hat, rufen Sie php artisan queue:restart auf