我有一個包含一堆任務的應用程序,每天我都想運行一個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。並感謝關於時區差異的提醒。 –