Dans mon projet, j'utilise Beanstalkd pour le traitement des files d'attente. Parfois, les tâches restent bloquées, alors que je voudrais déboguer ces tâches en file d'attente. Mark Needham a écrit un super blog sur la façon d'obtenir un aperçu des tâches de Beanstalkd.
De liaison
En supposant que Beanstalkd soit installé, connectez-vous à la console via telnet :
telnet localhost 11300
Obtenir une vue d'ensemble
Utilisez la commande :
statistiques
Vous obtiendrez un résultat comme :
tâches-actuelles-urgentes : 0 tâches-actuelles-prêtes : 2 tâches-actuelles-réservées : 0 tâches-actuelles-retardées : 0 tâches-actuelles-enfouies : 0 cmd-put : 66 ... connexions-actuelles : 6 producteurs-actuels : 1 travailleurs-actuels : 1 en attente : 1 nombre-total-de-connexions : 58 pid : 15622 version : 1.4.6 rusage-utime : 0,000000 rusage-stime : 0,040002 temps-de-fonctionnement : 22740 binlog-oldest-index : 0 binlog-current-index : 0 binlog-max-size : 10485760
Liste des premiers travaux prêts
Pour voir un travail concret prêt, utilisez la commande :
prêt à jeter un oeil
En termes de Laravel, vous pouvez obtenir un résultat de travail en retour
{"job": "Illuminate\\Queue\\CallQueuedHandler@call", "data":{"...........job\";N;}"}}
Si le travail a du stock, vous pouvez effacer les travaux en faisant appel à un file d'attente artisanale : paquet clair. Ensuite, vous pouvez exécuter la commande :
file d'attente php artisan : effacer
Si votre démon est également stocké, appelez php artisan queue:restart