私は神の宝石を使用しません。なぜなら、(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環境をセットアップし、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 &
私はこの種のセットアップを何年も使用してきました、そしてそれはしっかりしています。サーバーはクラッシュしません。これらの他のサーバーを監視するために、別のシステム(神の宝石など)をインストールするオーバーヘッドはまだ必要ありません。
さらに、capistrano gemを使用して、デプロイ時にワーカーを再起動します。