我有一个包含一堆任务的应用程序,每天我都想运行一个cron作业,为数据库中的每个任务创建一个DayTask。一项任务has_many DayTasks和这些日常任务是用户每天要检查的。我使用的是每当宝石,但它似乎并没有运行。有任何想法吗?我一直在不断变化的时代:Cron任务不工作每当gem
配置/ schedule.rb
every 1.day, :at => "12:01am" do
runner "Task.generate_tasks_for_day"
end
Task.rb
def generate_tasks_for_day
Task.all.each do |task|
task.day_tasks.create(:target_date => Date.today)
end
end
运行 '命令时'
1 0 * * * /bin/bash -l -c 'cd /home/grant/rails_projects/GoalTwist && script/rails runner -e production '\''Task.generate_tasks_for_day'\'''
注的结果在config/schedule.rb中,每次我想测试运行它。
我可以检查,当你说“运行的结果,‘每当命令’”你也查了,这是在'crontab中-l'?另外,这是什么操作系统?我通常会使用UTC运行我的服务器,并确保每当使用本地时区将它们转换为UTC时间时。 –
#开始每当生成任务为:daytask 42 18 * */bin/bash -l -c'cd/home/grant/rails_projects/GoalTwist && script/rails runner -e production'\''Task.generate_tasks_for_day'\ ''' #结束每当生成的任务为:daytask 我正在运行Linux Mint。并感谢关于时区差异的提醒。 –