Ik gebruik de god-edelsteen niet omdat (1) ik een project heb gezien dat erg werd afgeranseld door de complexiteit van de installatie die het introduceerde, en (2) ik persoonlijk erg comfortabel ben met de standaard Linux (Ubuntu) -tools die omgaan met dit soort dingen.
Om de Resque-werknemers te starten bij het opstarten
Ik heb deze code in mijn /etc/rc.local
het dossier. Ik heb een implementatie gebruiker op het systeem:
# Start Resque
su -l deploy -c "/home/deploy/start-resque-workers"
su -l deploy -c "/home/deploy/start-resque-webui"
Vervolgens stel ik in die scripts de ruby-omgeving in en voer ik de rake-taak uit:
# 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 &
Ik gebruik dit soort opstelling al jaren en het is solide. De servers crashen niet. Ik heb nog geen overhead nodig van het installeren van een ander systeem (zoals de goddelijke edelsteen) om over deze andere servers te waken.
Bovendien gebruik ik een capistrano-edelsteen om de arbeiders opnieuw op te starten tijdens de implementatie.