【问题标题】:How to check if whenever gem is working?如何检查gem是否在工作?
【发布时间】:2015-08-23 12:41:50
【问题描述】:

我有以下配置。我已经安装了 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 语句放入我的方法中 - 它们应该存储或输出到哪里?

【问题讨论】:

  • 'Whenever' 命令仅以 'crontab' 语法输出行。要实际更新计划,您应该运行'whenever --update-crontab'。但请注意,它会删除现有的 crontab!

标签: ruby-on-rails ruby cron whenever


【解决方案1】:

您需要定义一个日志文件,然后该文件将接收来自您的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

【讨论】:

    猜你喜欢
    • 2016-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多