Не използвам скъпоценния камък, защото (1) видях проект, който беше много поразен от сложността на настройката, която въведе, и (2) аз лично съм много удобен със стандартните инструменти на Linux (Ubuntu), които се справят този вид нещо.
За да стартирате Resque работниците при стартиране
Имам този код в моя /etc/rc.local
файл. Имам разгръщане потребител в системата:
# Start Resque
su -l deploy -c "/home/deploy/start-resque-workers"
su -l deploy -c "/home/deploy/start-resque-webui"
След това в тези скриптове настроих средата на ruby и стартирах задачата за рейк:
# 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 &
Използвам този вид настройка от години и е стабилна. Сървърите не се сриват. Все още нямам нужда от режийни разходи за инсталиране на друга система (като скъпоценния камък), за да наблюдавам тези други сървъри.
Освен това използвам скъпоценен камък capistrano, за да се справя с рестартирането на работниците при разгръщане.