Domanda

Resque-Scheduler nella mia app su Heroku

Quindi ... ho bisogno di uno solo e distinto che agisce lavoratore come lo scheduler e molti a fare i lavori.

Ecco come ho fatto:
Ho una distinta App Heroku che non fa altro che ha 1 lavoratore resque-scheduler, in esecuzione 24/7, l'aggiunta di Resque i compiti al Redis DB del "lontano" principale App.

(lo faccio mappatura posti di lavoro: il lavoro compito di resque: scheduler o resque: lavoro )

E 'questo il modo migliore per farlo sulla piattaforma del Heroku; o sto facendo tutto sbagliato?

Grazie!

EDIT: App minima per la pianificazione su Heroku: http://github.com/clmntlxndr/heroku-scheduler

UPDATE:. Con la nuova pila CEDAR su Heroku e Procfiles, è possibile avviare un'attività distinta per ogni lavoratore

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

È stato utile?

Soluzione

Credo che ho letto male la tua domanda la prima volta. Ho perso la parte in cui scheduler richiede un task rake separata.

Sì, penso che l'unico modo per farlo è quello di avere due applicazioni Heroku separati, perché i lavoratori Heroku verrà eseguito solo rake jobs:work e presumibilmente è possibile mappare solo questo su uno dei compiti resque rake.

Si potrebbe provare questo:

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

Ma ho dei dubbi sinceri circa che in realtà funziona correttamente con come Heroku monitora i processi di lavoro e roba. Inoltre, controllare la sintassi doppio rastrello lì; è solo dalla memoria. So che è possibile specificare più dipendenze però.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top