我有一个必须始终运行的 rake 任务。但有时这项任务可能会失败。我需要自动重启吗?我想我需要使用God gem还是有其他方法可以解决这个问题?
问问题
1203 次
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
就我而言,我需要的是上帝的宝石,谢谢您的回答!
于 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 回答