In mijn project gebruik ik Beanstalkd voor wachtrijverwerking. Soms blijven taken hangen, terwijl ik deze wachtrijtaken graag wil debuggen. Mark Needham schreef een geweldige blog over hoe je een overzicht krijgt van Beanstalkd-vacatures.
Verbinden
Ervan uitgaande dat Beanstalkd is geïnstalleerd, maakt u verbinding met de console via telnet:
telnet lokale host 11300
Een overzicht krijgen
Gebruik de opdracht:
statistieken
U krijgt dan het volgende resultaat:
huidige-jobs-urgent: 0 huidige-jobs-ready: 2 huidige-jobs-reserved: 0 huidige-jobs-delayed: 0 huidige-jobs-buried: 0 cmd-put: 66 ... huidige-verbindingen: 6 huidige-producenten: 1 huidige-werkers: 1 huidige-wachtend: 1 totale-verbindingen: 58 pid: 15622 versie: 1.4.6 rusage-utime: 0.000000 rusage-stime: 0.040002 uptime: 22740 binlog-oudste-index: 0 binlog-huidige-index: 0 binlog-max-grootte: 10485760
De eerste gereedstaande klus opsommen
Om een concreet werk te zien, gebruikt u de opdracht:
klaar om te kijken
In termen van Laravel kun je een taakresultaat terugkrijgen
{"job":"Verlicht\\Wachtrij\\CallQueuedHandler@call","data":{"...........job\";N;}"}}
Als de taak voorraad heeft, kunt u taken wissen door een artisan wachtrij:duidelijk pakket. Vervolgens kunt u de opdracht uitvoeren:
php artisan wachtrij:wissen
Als uw daemon ook stock heeft, roept u php artisan queue:restart aan