142 votes

Comment puis-je effacer les travailleurs Resque coincé/fade ?

Comme vous pouvez le voir sur l’image en pièce jointe, j’ai un couple de travailleurs qui semblent être coincé. Ces processus ne devrait pas prendre plus de quelques secondes.

enter image description here

Je ne sais pas pourquoi ils ne sera pas claire ou comment les supprimer manuellement.

Je suis sur Heroku avec Resque Redis-to-Go et HireFire à l’échelle automatiquement des travailleurs.

226voto

hagope Points 2383

Aucune de ces solutions n’a fonctionné pour moi, j’ai toujours considéreront cela en redis-web :

Enfin, cela a fonctionné pour moi effacer tous les travailleurs :

54voto

Simpleton Points 2924

Dans votre console :

Dans le cas contraire, vous pouvez essayer de leur faux comme étant fait pour les supprimer, avec :

EDIT

Beaucoup de gens ont été upvoting cette réponse et je pense qu’il est important que les gens essaient solution de hagope qui annule l’inscription de travailleurs hors une file d’attente, alors que le code ci-dessus supprime les files d’attente. Si vous êtes heureux de leur faux, puis laisser refroidir.

30voto

Shairon Toledo Points 314

Vous avez probablement la gemme resque installée, donc vous pouvez ouvrir la console et obtenir les travailleurs actuels

Elle retourne une liste des travailleurs

Choisissez le travailleur et `` , par exemple l’une

27voto

ewH Points 91

Ajout pour répondre en hagope, je voulais pouvoir seulement annuler l’enregistrement des travailleurs qui avaient fonctionné pendant un certain laps de temps. Le code ci-dessous sera seulement désinscrire travailleurs exécutant pendant plus de 300 secondes (5 minutes).

J’ai un collection de Resque liées à des tâches de râteau que j’ai également ajouté ceci à : https://gist.github.com/ewherrmann/8809350

10voto

jBeas Points 487

Exécuter cette commande où vous avez exécuté la commande de démarrage du serveur

$ ps -e -o pid,command | grep [r]esque

vous devriez voir quelque chose comme ceci:

92102 resque: Processing ProcessNumbers since 1253142769

Notez le PID (process id) dans mon exemple c'est 92102

Ensuite, vous pouvez quitter le processus 1 de 2 façons.

  • Normalement utiliser QUIT 92102

  • Force d'utilisation TERM 92102

* Je ne suis pas sûr de la syntaxe, c'est soit QUIT 92102 ou QUIT -92102

Laissez-moi savoir si vous avez le moindre soucis.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X