Rails定时任务只在生产环境运行

3

我在中定义了一个任务,但这个任务只能在生产模式下运行。如何在开发模式下运行它?

task(:generate_mindmails => :environment) do

为什么它在开发模式下无法运行?是否有错误信息? - spickermann
1
默认情况下,它不应该在开发模式下运行。 - davidb
2个回答

4

我建议您使用whenever gem代替。它可以更舒适地配置。像这样:

every 5.hours do
  runner "MyModel.my_method", :environment => :development
end

您可以通过将 gem 'whenever' 添加到您的 Gemfile 中,然后运行bundle install 来安装它。您应该阅读文档或至少阅读github项目的README.md文件。
// 您也可以在两个环境中运行它:
every 5.hours do
  runner "MyModel.my_method", :environment => :development
  runner "MyModel.my_method", :environment => :production
end

是的,我正在使用whenever,谢谢你的提示,我会尝试它,我可以配置它在开发和生产环境下运行吗? - Felix

4

在执行命令之前,只需设置环境即可:

$ RAILS_ENV=development rake generate_mindmails

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接