Tengo una aplicación que contiene un montón de tareas, y todos los días quiero ejecutar un trabajo cron que crea un DayTask para cada tarea en la base de datos. Una tarea tiene muchos turnos de día y estas tareas diarias son lo que los usuarios van a marcar todos los días. Estoy usando la gema de "always" pero parece que no se está ejecutando en absoluto. ¿Algunas ideas?El trabajo cron no funciona en Whenever gem
config/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
resultado de ejecutar el comando 'siempre que'
1 0 * * * /bin/bash -l -c 'cd /home/grant/rails_projects/GoalTwist && script/rails runner -e production '\''Task.generate_tasks_for_day'\'''
Nota: He estado cambiando los tiempos en config/schedule.rb cada vez que quiero probar ejecutarlo.
puede comprobar que, cuando dicen "resultado de ejecutar el" siempre que el mandamiento de" haber comprobado también que esto es en' crontab -l'? Además, ¿en qué sistema operativo está esto? Normalmente, ejecutaría mi servidor en UTC y me aseguraré de que cada vez que utilice su zona horaria local lo convierta a horas UTC. –
# Comenzar Siempre que se generen tareas para: daytask 42 18 * * */bin/bash -l -c 'cd/home/grant/rails_projects/GoalTwist && script/rails runner -e production' \ '' Task.generate_tasks_for_day '\ '' ' # End Siempre que haya generado tareas para: daytask Estoy ejecutando Linux Mint. Y gracias por el aviso sobre la diferencia de la zona horaria. –