Heroku调度程序无法运行,但手动运行rake

时间:2014-03-30 05:08:42

标签: ruby-on-rails heroku rake

我的任务需要45分钟。它与

成功运行
$ heroku run rake:sales

我还根据此question在调度程序中重新检查了我的设置。一切都很好看。

3 个答案:

答案 0 :(得分:2)

  

为了防止失控作业,运行时间超过其频率的作业将被终止。例如,每10分钟运行一次的作业将在运行10分钟后终止。

正在发生的事情是你的rake任务在前10分钟内正在运行,但是Heroku在经过这个任务后就会中止它。他们建议使用background job queue来执行长期任务。

来源:

https://devcenter.heroku.com/articles/scheduler#long-running-jobs

答案 1 :(得分:2)

@KKobayashi提到的长期存在的问题外,您可能没有为调度程序创建正确的rake文件:

Heroku Scheduler

  

对于Rails,惯例是设置rake任务。创造你的   在Rails中安排任务,将下面的代码复制到   lib/tasks/scheduler.rake并根据您的需求对其进行自定义

您是否尝试将任务放入scheduler.rake文件?

答案 2 :(得分:0)

可能是您为应用程序安排了除您打算安排的应用程序之外的任务。

要检查,请打开调度程序(heroku addons:open scheduler)并检查URL。如果您在网址中看到其他应用的名称,则需要再次添加调度程序插件,即:

heroku addons:create scheduler:standard

现在再次打开它(heroku addons:open scheduler)