Ruby On Rails 6.0 中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
即可
评论