我正在尝试迁移到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 app。我在lib / tasks中设置了scheduler.rake文件,如果我运行:
heroku rake processtats_main
我的流程运行得很好。
在调度程序插件仪表板中,我添加了
rake processtats_main
并将其设置为10分钟(通常这是一个每小时运行的任务,但这仅用于测试),并且在网络中,它每隔十分钟更新一次上次运行时间,但它没有运行任务,或者正在运行任务以某种方式失败。
我无法按“运行”按钮运行它,它建议我通过命令行执行此操作(是通过运行上面的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,我看不到与我的工作相关的进程。
有什么想法吗?我只是没有看到任何明显的尝试下一步。
答案 0 :(得分:2)
昨天我遇到了完全相同的问题并用Heroku记录了,我刚收到回复;
调度程序中有一个错误影响了一些新用户,阻止了任何用户 正确执行的工作。你能再试一次吗?
查看我的日志,它看起来确实有效 - 除了在计划页面上点击RUN仍然有错误,但我有预期现在可以运行的作业的历史条目。