【问题标题】:Heroku scheduler: Any ideas on how to debug?Heroku 调度程序:关于如何调试的任何想法?
【发布时间】:2011-12-29 01:32:08
【问题描述】:

我正在尝试迁移到 Heroku Scheduler 插件,(博文:http://blog.heroku.com/archives/2011/11/12/heroku_scheduler_add_on_now_available/,开发中心:http://devcenter.heroku.com/articles/scheduler

Rails 3.1 应用程序。我在 lib/tasks 中设置了 scheduler.rake 文件,如果我运行:

heroku rake processtats_main

我的进程运行完美。

在我添加的调度程序插件仪表板中

rake processtats_main

并将其设置为 10 分钟(通常它是每小时运行的任务,但这仅用于测试),在 web ui 中,它每十分钟更新一次上次运行时间,但它没有运行任务,或正在运行任务以某种方式失败。

我无法按“运行”按钮运行它,它建议我通过命令行来运行它(是通过运行上面的 heroku rake 命令吗?因为它工作正常)。令人沮丧的是,在“运行”单击失败后刷新页面后,上次运行时更新。如果您设置了一个名为“diofgjsfdoigjsdi”的任务并单击运行,则上次运行时间将更新,大概是因为调度程序可用于执行任何类型的命令,所以它正在尝试。但是没有记录失败,所以如果我认为我的语法正确,我不确定如何调试。

仪表板上没有任务输出。

日志中没有任何内容表明任何工作进程或其他任何内容。根本没有日志活动。 (不是实时应用,所以如果我不访问它,任何地方的人都不太可能访问它。)我的 rake 任务如下所示:

task :processtats_main => :environment do
    puts "Begin Widget.statsUpdate(1)"
         Widget.statsUpdate(1)
    puts "Widget.statsUpdate(1) done."
end

因此,它至少应该将“puts”消息放入日志中。

我禁用了 cron 插件,以防它以某种方式干扰。

如果我运行 heroku ps,我看不到与我的工作相关的进程。

有什么想法吗?我只是没有看到任何明显的下一步尝试。

【问题讨论】:

  • 与 :environment 有关系吗?它是否期望某个环境/配置变量?我正在抓住稻草......
  • 我有一个支持,我也遇到了这个问题。收到回复后会在此处更新。

标签: ruby-on-rails heroku scheduled-tasks


【解决方案1】:

我昨天遇到了完全相同的问题,并用 Heroku 记录了它,我刚刚收到了回复;

调度程序中存在影响一些新用户的错误,阻止了任何 作业无法正确执行。可以再试一次吗?

查看我的日志,它看起来确实在工作 - 除了在计划页面上单击“运行”仍然出错,但我有一些我希望现在运行的作业的历史条目。

【讨论】:

  • 是的。发现。一些统计图表依赖于此,今天早上我登录了我的应用程序,图表都显示每 10 分钟更新一次的数据。感谢您的跟进。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-12-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-07
  • 1970-01-01
相关资源
最近更新 更多