web-dev-qa-db-fra.com

Comment dire à un Delayed :: Job spécifique de s'exécuter dans la console?

Pour une raison quelconque, Delayed :: Job a décidé de faire la queue mais de ne rien exécuter même si je l'ai redémarré plusieurs fois, même le tuer -9 et le redémarrer. Il n'exécutera aucun travail.

Puis-je, dans/console, spécifier un travail spécifique et lui dire de fonctionner?

Ex: .. Delayed::Job.find(x).run

92
Trip

répondre à comment exécuter un travail spécifique à partir de la console:

Delayed::Job.find(x).invoke_job

mais vous devez vous rappeler qu'il n'exécutera pas d'autres choses comme la destruction du travail qui a été fait, etc. juste exécuter le travail/la tâche.

124
schiza

Vous pouvez également le faire comme ceci:

Delayed::Worker.new.run( Delayed::Job.find(x) ) 
153
David Tuite

Sur Heroku, j'avais un travail "bloqué" et je devais juste exécuter heroku restart pour que le travailleur/l'emploi redémarre.

1
rassom