2012-06-24 14 views
5

Ambiente personale: Rails 3.2.x con RVM, Passenger, Apache su Linux (Ubuntu), non sto utilizzando Capistrano e non intendo farlo per il momento.Avvio di resque all'avvio/riavvio del passeggero

ho integrato Resque nella mia applicazione Rails e tutto funziona bene quando si avvia manualmente resque con

rake RAILS_ENV=production environment resque:work QUEUE='*' 

passo successivo è quello di avere l'avvio Resque (riavvio) automaticamente all'avvio di passeggeri (riavvio).

Come faccio a fare questo?

risposta

2

Per quanto riguarda l'utilizzo di foreman per questo problema?

Foreman è uno strumento basato su procfile per la gestione di app per binari multi-processo.

Un'intro semplice può essere visto a railscasts. Un esempio potrebbe essere il seguente:

web: bundle exec rails server 
solr: bundle exec rake sunspot:solr:run 
resque: rake RAILS_ENV=production environment resque:work QUEUE='*' 
+0

Sto cercando di mantenere il mio server di produzione il più snello possibile, evitando tutte le dipendenze il più possibile. Tuttavia, a prima vista sembra valga la pena dare una seconda occhiata. Domanda però, come si avvia il caposquadra all'avvio del sistema o lo si integra in Passenger? – KKK

+0

Ad esempio tramite un'esportazione upstart che è possibile creare tramite capistrano deploy e quindi utilizzare all'avvio. –

+0

namespace: foreman do task: export,: roles =>: db do esegui "cd # {release_path} && bundle exec foreman export upstart/etc/init -u # {utente} -a # {applicazione} -f Procfile . # {} RAILS_ENV" fine compito: restart,: ruoli =>: app fare run "restart # {applicazione} || start # {} applicazione" fine fine –