Nie używam klejnotu boga, ponieważ (1) widziałem projekt, który był bardzo zniszczony przez złożoność wprowadzonej konfiguracji, i (2) osobiście czuję się naprawdę dobrze ze standardowymi narzędziami Linux (Ubuntu), które obsługują tego rodzaju rzeczy.
Aby uruchomić Resque worker podczas uruchamiania
Mam ten kod w moim /etc/rc.local
plik. Mam wdrożenie użytkownik w systemie:
# Start Resque
su -l deploy -c "/home/deploy/start-resque-workers"
su -l deploy -c "/home/deploy/start-resque-webui"
Następnie w tych skryptach konfiguruję środowisko ruby i uruchamiam zadanie rake:
# 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 &
Używam tego rodzaju konfiguracji od lat i jest solidna. Serwery nie ulegają awarii. Nie potrzebuję jeszcze narzutu na instalowanie innego systemu (takiego jak boski klejnot), aby pilnować tych innych serwerów.
Dodatkowo używam klejnotu capistrano do obsługi ponownego uruchamiania pracowników podczas wdrażania.