如何在使用Javan时使cron工作 - 无论何时在Rails中

时间:2009-11-11 13:11:34

标签: ruby-on-rails cron whenever

我已按以下方式设置了schedule.rb文件。

set :cron_log, "/log/cron_log.log"
if Rails.env.development?
  every 1.minute do
    runner "SomeModel.move_values"
    runner "SomeOtherModel.dispense"
   end
end

我也让它在开发模式下工作 每当--update-crontab trunk --set environment = development

但我的模型方法(类方法)从未被调用过。有什么方法可以验证它是否配置正确。 当我只使用更新时,它会重置设置以使用生产环境。

2 个答案:

答案 0 :(得分:2)

我刚刚使用相同的javan-when插件完成了。

在终端中,键入crontab -l。 如果您看到正确生成的crontab,那么您就知道它是代码或某些服务器的东西。

您可能需要考虑在schedule.rb文件中执行set :environment, RAILS_ENV以动态设置环境。

Ryan Bates对此进行了很好的截屏: http://railscasts.com/episodes/164-cron-in-ruby

此外,还有基于网络的替代方案,例如: webbasedcron

答案 1 :(得分:1)

运行    每当--set environment = test -w

在测试环境中创建crontab,显然你可以用你正在运行的任何环境替换测试。