我有一个cron作业在开发时按预期运行,但停止生产:
模型/ user.rb
def self.recalculate_age
User.all.each do |user|
user.recalculate
end
end
def recalculate
self.age = self.age + 1.37
self.save!
end
配置/ schedule.rb
every 1.day, :at => '12:00 am' do
runner "User.recalculate_age", :environment => 'development'
end
我忘记了以前在开发时启动cron作业的终端命令,但我确信它在生产中会有所不同,对吧?
另外,我会将:environment => 'development'
更改为:environment => 'production'
吗?
答案 0 :(得分:0)
如果我是对的并且你正在使用gem而不是你应该通过键入console来开始你的cron作业:
whenever --update-crontab
当然,如果您希望在生产环境中运行,您应该将环境更改为生产环境。 要查看正在运行的cron任务,您可以使用:
crontab -l
答案 1 :(得分:0)
whenever gem默认为制作,因此只需删除:environment
文件中的schedule.rb
选项,您就可以在生产环境中使用。
在开发中,使用--set
选项设置环境。实施例
whenever --update-crontab --set environment='development'