0

Je travaille sur un projet qui a un serveur web écrit en RubyonRails. Une autre personne a commencé le code pour ce projet et j'ai tout le code. Ce serveur a utilisé delayed_job. Le serveur de production fonctionne correctement sans aucun problème. Cependant, lorsque je veux l'exécuter sur mon serveur local, aucune des tâches delayed_job ne s'exécute. Je ne reçois aucune erreur, par exemple, lorsque j'exécute des jobs rake: travail sur mon serveur local, et je soumets un job, c'est la sortie:RubyOnRails delayed_job ne fonctionne pas sur mon serveur local

[Travailleur (hôte: ardrossan pid: 20474)] travailleur

[travailleur (hôte: ardrossan pid: 20474)] emploi différé :: PerformableMethod (id = 2) RUNNING

[travailleur (hôte: ardrossan pid: 20474)] 1 tâches traitées à 17,9446 j/s , 0 échoué

Aucun résultat n'a été généré. Tout conseil sur la façon dont je peux faire fonctionner le fichier delayed_jobs sur mon serveur local est apprécié.

Je dois mentionner que j'utilise « rails », « 3.2.17 » et mon OS est Ubuntu 12.04.4 LTS

Répondre

0

pense que vous devez lancer les travailleurs de fond localement contremaître. Ce qui suit a fonctionné sur mon Mac.

De Heroku docs:

Vous devez ensuite dire votre application pour traiter les travaux mis en file d'attente d'emploi, vous pouvez le faire en ajoutant ceci à votre Procfile:

worker: bundle exec rake jobs:work 

Maintenant, quand vous commencez votre application en utilisant Foreman, il va commencer à traiter votre file d'attente. Cela dit, à moins que vous ne déployiez sur un Mac, ce n'est pas vraiment important s'ils s'exécutent localement. (J'ai remarqué cela après que je l'ai fait fonctionner.) Cela n'a d'importance que si cela fonctionne sur vos serveurs. Si vous déployez sur Heroku, le travail retardé fonctionne bien.

Référence:

https://devcenter.heroku.com/articles/delayed-job https://devcenter.heroku.com/articles/procfile http://blog.daviddollar.org/2011/05/06/introducing-foreman.html
https://github.com/ddollar/foreman

0

Vous aurez besoin de commencer par vous-même puisque vous n'avez pas les travailleurs pour déclencher vos actions par lui-même.

Questions connexes