【问题标题】:Problem while writing the cron job using whenever ruby gem使用 ruby​​ gem 编写 cron 作业时出现问题
【发布时间】:2011-05-09 15:35:52
【问题描述】:

我正在尝试使用 whenever gem 设置 cron 作业。我已经写了应该在 schedule.rb 中运行 cron 作业的时间,并且还更新了 railscasts 剧集中提到的 crontab。但是 cron 作业似乎没有运行。我只是在本地机器上使用它。

这是 schedule.rb 代码

every :sunday, :at => "2:28am" do
  runner "App.send_status", :environment => :development
end

这就是我执行 crontab -l 时的结果

    28 2 * * 0 /bin/bash -l -c 'cd /Users/felix/cron && script/rails runner -e development 
'\''App.send_status'\'''

我只提前 5 分钟(即 2:23)设置了 cron。

当我从命令行尝试它时,它会被执行

script/rails runner -e development "App.send_status"

你能告诉我我是否遗漏了什么吗? 谢谢!!!

【问题讨论】:

  • 你是对的。但有没有办法纠正它。它是由 gem 本身生成的

标签: ruby-on-rails ruby rubygems cron whenever


【解决方案1】:

为了调试它,我首先在 App.send_status 中放置一些带有状态文本的 put

然后转到服务器并在'crontab -e'中添加以下行

MAILTO=your@email.com

所有 puts 输出应该在执行后不久就在您的邮箱中。

【讨论】:

  • 如果您没有在服务器上安装 MTA,另一种调试方法是将其添加到您的 schedule.rb 文件中: set :output, "#{path}/log /cron_log.txt" 然后,这将路由到 cron 作业的输出到您的日志目录中的文件,您可以在其中查看问题所在。
猜你喜欢
  • 2013-06-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-11
  • 2021-11-16
  • 2019-09-03
相关资源
最近更新 更多