【问题标题】:Cron jobs with whenever not working in production每当不在生产中工作时的 Cron 工作
【发布时间】:2018-03-25 11:19:34
【问题描述】:

我正在尝试“随时”实现 gem,以便我可以每天运行自动任务。

这是我的 schedule.rb 文件:

env :PATH, ENV['PATH']
set :output, "log/cron_log.log"

every :day, at: '10:10 am' do
  runner "Task.new.get_drivers"
end

every :day, at: '10:15 am' do
  runner "Task.new.get_deliveries"
end

every :day, at: '10:20 am' do
  runner "Task.new.update_deliveries"
end

在生产中,我按照文档中的说明“每当 --update-crontab”运行此命令行。

到目前为止,一切似乎都运行良好。当我“随时”运行命令行时,我得到了这个结果:

# Begin Whenever generated tasks for: /home/total/site/config/schedule.rb
PATH=/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/total/.local/bin:/home/total/bin

10 10 * * * /bin/bash -l -c 'cd /home/total/site && bundle exec bin/rails runner -e production '\''Task.new.get_drivers'\'' >> log/cron_log.log 2>&1'

15 10 * * * /bin/bash -l -c 'cd /home/total/site && bundle exec bin/rails runner -e production '\''Task.new.get_deliveries'\'' >> log/cron_log.log 2>&1'

20 10 * * * /bin/bash -l -c 'cd /home/total/site && bundle exec bin/rails runner -e production '\''Task.new.update_deliveries'\'' >> log/cron_log.log 2>&1'

# End Whenever generated tasks for: /home/total/site/config/schedule.rb

但最后,什么都没有发生(除非我在控制台中运行自己的 cron 作业)。我的日志什么也没显示。您知道可能是什么问题吗?

感谢您的帮助。 最好的问候,

维吉妮

【问题讨论】:

  • 手动运行时的输出是什么? (例如cd /home/total/site && bundle exec bin/rails runner -e production
  • 我的数据被正确提取并保存在我的数据库中。但我没有关于这个过程的日志。
  • 你能尝试安排一些记录来尝试调试问题吗?我经常使用whenever 来处理 rake 任务,没有任何问题。这可能是由于以下任何原因而没有执行askubuntu.com/questions/23009/…
  • 我所做的是每三分钟运行一次任务,在这种情况下,一切正常。我的数据被自动提取并保存在我的数据库中。但是当我尝试在特定时间安排我的任务时,似乎没有任何效果。也许问题来自运行 cron 的时区。我该如何解决?
  • 如果您每 3 分钟运行一次,则时区不相关。由于正在运行bundle exec whenever --update-crontab 的用户,我正在考虑更多关于权限问题

标签: ruby-on-rails cron whenever


【解决方案1】:

部署后尝试crontab -l。这将打开您的 crontab 并列出所有任务。 然后运行whenever --update-crontab 并再次检查crontab -l。 可能是 whenever --update-crontab 并没有真正更新您的 crontab。

同时尝试将:day 更改为1.day

如果您通过 capistrano 部署,还要检查您的 Capfile 是否包含 require 'whenever/capistrano'

【讨论】:

    猜你喜欢
    • 2011-10-22
    • 2013-10-20
    • 2011-11-24
    • 2014-01-12
    • 2018-06-19
    • 2015-02-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多