3

我已经按如下方式设置了我的 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 让它在开发模式下工作

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

4

2 回答 2

2

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

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

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

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

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

于 2009-11-11T15:07:55.377 回答
1

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

要在测试环境中创建您的 crontab,显然您可以将 test 替换为您正在运行的任何环境。

于 2011-10-29T16:06:03.423 回答