rails whenever 定义的定时任务没有执行

环境

  • OS: Manjaro:20.1 i3
  • Rails: 6.0
  • Ruby: 2.7.1
  • whenever: 1.0.0

问题

config/schedule.rb添加配置后,执行whenever --update-crontab,使用crontab -e打开crontab配置文件,看到定时任务已经添加进去了,但是过了一会发现没有执行。

手动把里边的命令复制出来执行,命令执行成功。

应该是缺少某些环境变量的问题,遂 google 之,得一答。


解决方案

config/schedule.rb 前面加上环境变量的设置:

env :PATH, ENV['path']

set :output, "log/cron.log"         # 顺便加上 log, 方便后面调试

然后再执行

whenever --update-crontab

即可

参考

AskUbuntu: Why crontab scripts are not working?

点赞

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注