通过rails服务器/乘客启动上帝?

时间:2011-07-16 02:27:43

标签: ruby-on-rails ruby-on-rails-3 rake monitoring god

以下情况:

我有一个服务器和一些应该在整个时间运行的rake任务,例如:

# email_sender.rake (except only)
while true
  fetch all mail entries.each do |mail|
     mail.deliver
  end
end

或其他佣金任务

# update_market.rake (except only)
while true
  Market.fetch_exchange_rate!
  sleep 1
end

为了启动和停止这些rake任务,我使用神宝石,它运作良好。 但有一点我不清楚:我可以使用初始化程序在rails中启动我的神服务器吗? f.e。

# rails_root/config/initializers/start_god.rb
system 'god -c /www/rails_root/config/god.config'

我在我的开发环境中尝试过,正如我想的那样,即使我退出rails服务器,服务器也会运行。

但是在生产模式下运行时有什么警告吗?

感谢您的意见!

P.S。我不想使用CRON!这个解决方案对我来说是完美的,我不想换到另一个调度程序/队列/后台作业系统!

2 个答案:

答案 0 :(得分:0)

使用Rails初始化程序可能不是启动该过程的最佳方式,它并不是它们的目的。你用Procfile看过Foreman吗?它可能适合你。

http://ddollar.github.com/foreman/

答案 1 :(得分:0)

您在部署应用程序时使用了什么?例如,如果你使用Capistrano,你应该使用Capistrano来启动并重装神(在你的生产环境中)。

对于开发,工头是一个非常方便的工具来管理这些过程,正如ctcherry提到的那样。您也可以直接从您的个人资料中export a god config file

相关问题