Ich verwende das God Gem nicht, weil (1) ich ein Projekt gesehen habe, das durch die Komplexität des Setups, das es eingeführt hat, sehr verprügelt wurde, und (2) ich persönlich mit den Standard-Linux (Ubuntu)-Tools, die damit umgehen, sehr vertraut bin so etwas.
Um die Resque-Worker beim Booten zu starten
Ich habe diesen Code in meiner /etc/rc.local
Datei. Ich habe eine Bereitstellung Benutzer auf dem System:
# Start Resque
su -l deploy -c "/home/deploy/start-resque-workers"
su -l deploy -c "/home/deploy/start-resque-webui"
Dann richte ich in diesen Skripten die Ruby-Umgebung ein und führe die Rake-Aufgabe aus:
# 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 &
Ich benutze diese Art von Setup seit Jahren und es ist solide. Die Server stürzen nicht ab. Ich brauche noch nicht den Aufwand für die Installation eines anderen Systems (wie des Gottesjuwels), um über diese anderen Server zu wachen.
Außerdem verwende ich ein Capistrano-Gem, um den Neustart der Worker bei der Bereitstellung zu handhaben.