Jag använder inte guden pärla eftersom (1) jag har sett ett projekt som var väldigt förkrossat av komplexiteten i installationen det introducerade, och (2) jag är personligen väldigt bekväm med de vanliga Linux-verktygen (Ubuntu) som hanterar sånt här.
För att starta Resque-arbetarna vid uppstart
Jag har den här koden i min /etc/rc.local
fil. Jag har en deploy användare på systemet:
# Start Resque
su -l deploy -c "/home/deploy/start-resque-workers"
su -l deploy -c "/home/deploy/start-resque-webui"
Sedan, i dessa skript, ställer jag in ruby-miljön och kör rake-uppgiften:
# Load RVM into a shell session *as a function*
if [[ -s "$HOME/.rvm/scripts/rvm" ]] ; then
# First try to load from a user install
source "$HOME/.rvm/scripts/rvm"
elif [[ -s "/usr/local/rvm/scripts/rvm" ]] ; then
# Then try to load from a root install
source "/usr/local/rvm/scripts/rvm"
else
printf "ERROR: An RVM installation was not found.\n"
fi
# Use rvm to switch to the default ruby.
rvm use default
# Now launch the app
cd /home/deploy/app-name-here/current
nohup rake QUEUE=* RAILS_ENV=production environment resque:work &
Jag har använt den här typen av uppsättning i flera år, och den är stabil. Servrarna kraschar inte. Jag behöver ännu inte överkostnaden för att installera ett annat system (som gudstenen) för att vaka över dessa andra servrar.
Dessutom använder jag en capistrano-pärla för att hantera omstart av arbetarna vid utplacering.