我有以下配置。我曾经安装过gem,创建了shedule.rb:
# Learn more: http://github.com/javan/whenever
every 6.hours do
runner "Part.check_status_update"
end
在part.rb模型中我有相应的方法。
A。如何检查whenever
是否运行?据我所知,它应该只在bash中的whenever
命令之后修改crontab,是吗?
B。如果未触发该方法 - 那么我该如何调试预定作业?如果我在方法puts
语句中加入 - 它们应存储或输出到哪里?
答案 0 :(得分:7)
您需要定义一个日志文件,然后该文件将接收Part.check_status_update
电话的任何输出(例如puts
电话)。您可以在schedule.rb
文件的顶部为所有作业设置默认日志文件,例如:
set :output, '/path/to/file.log'
例如,要登录Rails.root/log/whenever.log
:
set :output, 'log/whenever.log'
您还可以定义每个任务的输出:
runner "Part.check_status_update", :output => 'log/check_status_update.log'
有关详细信息和选项的完整说明,请参阅the Whenever wiki entry on the subject,例如将错误记录到单独的文件中。