我有一个沉重的过程,它将我希望使用'Heroku Scheduler'计划的API下载数据。 (https://addons.heroku.com/scheduler)工作进程运行Heroku Sceduler的procfile
我想要一个专门的工作流程作业。我应该如何定义我的Procfile?
我应该如何在调度程序插件设置页面中定义工作任务?
我有一个沉重的过程,它将我希望使用'Heroku Scheduler'计划的API下载数据。 (https://addons.heroku.com/scheduler)工作进程运行Heroku Sceduler的procfile
我想要一个专门的工作流程作业。我应该如何定义我的Procfile?
我应该如何在调度程序插件设置页面中定义工作任务?
我假设你正在使用的轨道。如果您不是,那么您必须稍微更改说明,但一般说明适用。
您将需要一条命令来运行数据下载程序。在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
调度附加单位与劳动者测功机将其放大彼此的不同。
你如何验证它是在工作人员而不是测功机上运行的? – Dofs
您可以通过运行'heroku ps'来查看您的dynos,并查看您有多少个运行的工具或工作人员。对于一个工人,你会看到'worker.1:up ...'。对于调度程序一次性的dynos,您需要转到您的heroku仪表板。 – projectdelphai
你使用哪种语言? – MaFo
我正在使用RoR。 –