2013-05-29 41 views

回答

5

我假设你正在使用的轨道。如果您不是,那么您必须稍微更改说明,但一般说明适用。

您将需要一条命令来运行数据下载程序。在Rails中,最好的方法是在/lib/tasks/scheduler.rake中创建一个名为api_data_downloader的rake命令。

如果您没有使用rails,那么创建一个脚本(您可以将它放在bin中)。

然后要添加作业,请转至Heroku仪表板上的应用程序。点击'一般信息',然后点击调度器插件。点击“添加作业”并选择频率和时间。对于作业,请输入将运行脚本的命令。对于Rails,你可以运行'rake api_data_downloader'。否则,您可能需要根据您的需求来执行诸如“ruby api_data_downloader.rb”或“php api_data_downloader”之类的操作。

您可以阅读调度程序应用程序上的blog post或阅读其上的documentation

调度程序应用程序是一个one-off dyno不是工人测功机。调度程序加载项用于执行时间比几分钟更短的任务的短任务和工作人员dynos。如果你需要一个工人赛道,然后在procfile你需要指定

worker: rake api_data_downloader 

heroku ps:scale worker=1 

调度附加单位与劳动者测功机将其放大彼此的不同。

+0

你如何验证它是在工作人员而不是测功机上运行的? – Dofs

+0

您可以通过运行'heroku ps'来查看您的dynos,并查看您有多少个运行的工具或工作人员。对于一个工人,你会看到'worker.1:up ...'。对于调度程序一次性的dynos,您需要转到您的heroku仪表板。 – projectdelphai