1

常に実行する必要がある rake タスクがあります。ただし、このタスクが失敗する場合があります。そして、私はそれを自動再起動する必要がありますか?God gemを使用する必要があると思いますか、この問題を解決する他の方法がありますか?

4

3 に答える 3

4

それはすべてあなたの問題に依存しますが、純粋なRubyソリューションはどうですか?

begin
  puts "Start"
  raise "BOOOM"
rescue Exception => e
  puts e.message
  sleep(2)
  retry
end

例外をキャッチするたびにブロックを開始して再試行してください。

于 2012-07-31T13:52:38.837 に答える
2

私の場合、God gemが必要です。回答ありがとうございます。

于 2012-09-05T14:15:35.097 に答える
1

ubuntu を使用している場合は、次のような構成で upstart を非常に簡単に使用できます。

start on startup
stop on shutdown

pre-start script
   cd /var/www/my-app/current
end script

script
   exec RAILS_ENV=production bundle exec rake my_task_name
end script

詳細はこちら: http://www.stackednotion.com/blog/2012/02/09/easy-rails-daemons-with-upstart/

于 2012-07-31T10:02:13.687 に答える