2010-10-01 12 views
5

Sto aggiungendo Resque-Scheduler nella mia app su HerokuResque Scheduler su Heroku ... Lo fai da remoto?

Allora ... ho bisogno di uno solo e lavoratore distinti in qualità di programmatore e molti a fare i lavori.

Ecco come ho fatto:
Ho una distinta Heroku App che non fa altro che ha 1 lavoratore resque-scheduler, in esecuzione 24/7, aggiungendo Resque compiti al Redis DB della " distante "principale App.

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

È in questo modo la migliore per farlo sulla piattaforma del Heroku; o lo sto facendo completamente storto?

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

risposta

3

Credo che ho letto male la tua domanda la prima volta. Ho perso la parte in cui lo scheduler richiede un'attività di 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 rake Resque.

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, controlla la sintassi del rake qui; è solo dalla memoria. So che è possibile specificare più dipendenze però.

+0

Sì! Il modo in cui descrivo nella mia domanda è già quasi funzionante (lo inserirò presto su Github). Mi stavo chiedendo se è buono nel principio, e in attesa che qualcuno mi dica "Stop! Puoi assegnare un lavoratore distinto su un compito distinto facendo così: ..." :) –

+0

Sì, piuttosto certo che non c'è modo di Fai quello. – tfe

+0

FYI: https://github.com/clmntlxndr/heroku-scheduler –

Problemi correlati