Cron Job停止了生产工作

时间:2015-04-16 17:18:46

标签: ruby-on-rails cron crontab production-environment cron-task

我有一个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'吗?

2 个答案:

答案 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'