Question

J'ajoute Resque-Scheduler dans mon application sur Heroku

Alors ... je besoin d'un seul travailleur et distinct agissant en tant que planificateur et beaucoup faire les travaux.

Voici comment je l'ai fait:
J'ai une application Heroku distincte qui ne fait rien, mais a 1 travailleur resque-programmateur, en cours d'exécution 24/7, ajoutant Resque des tâches à la Redis DB du "lointain" principal App.

(je fais ce mapping emploi: travail tâche à resque: planificateur ou resque: travail )

Est-ce la meilleure façon de le faire sur la plate-forme du Heroku; ou que je fais tout à fait tort?

Merci!

EDIT: application minimale pour la planification sur Heroku: http://github.com/clmntlxndr/heroku-scheduler

MISE À JOUR:. Avec la nouvelle pile de CEDAR sur Heroku et Procfiles, il est possible de lancer une tâche distincte pour chaque travailleur

web:        bundle exec rails server -p $PORT
scheduler:  bundle exec rake resque:scheduler
worker:     bundle exec rake jobs:work

http://devcenter.heroku.com/articles/procfile

Était-ce utile?

La solution

Je pense que j'ai mal lu votre question la première fois. J'ai raté la partie où le programmateur nécessite une tâche Rake séparée.

Oui, je pense que la seule façon de le faire est d'avoir deux applications Heroku séparées, parce que les travailleurs de Heroku ne fonctionnera que rake jobs:work et vous pouvez sans doute que la carte ce sur l'une des tâches de râteau resque.

Vous pouvez essayer ceci:

desc "Alias for resque:work (To run workers on Heroku)"
task "jobs:work" => ["resque:work", "resque:scheduler"]

Mais je doute sincèrement que le travail fait correctement avec la façon dont Heroku surveille les processus de travail et d'autres choses. En outre, vérifier la syntaxe de coupe là; il est juste de la mémoire. Je sais qu'il est possible de spécifier plusieurs dépendances bien.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top