运行Heroku Sceduler的工作进程的Procfile

Nit*_*eti 1 heroku scheduled-tasks procfile

我有一个繁重的过程,从API下载数据,我想用'Heroku Scheduler'安排.(https://addons.heroku.com/scheduler)

我想要一份专门的工作流程.我该如何定义我的Procfile?

我应该如何在调度程序插件设置页面中定义辅助任务?

在此输入图像描述

pro*_*hai 5

我假设你正在使用rails.如果您不是,那么您将不得不稍微更改说明,但一般说明有效.

您需要一个命令来运行数据下载程序.在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'.

您可以阅读调度程序应用程序上的博客文章或阅读其中的文档.

调度程序应用程序是一次性dyno而不是工作人员dyno.调度程序附加组件适用于需要超过几分钟的进程的短任务和工作器dynos.如果你需要一个worker dyno,那么在proc文件中你需要指定

worker: rake api_data_downloader
Run Code Online (Sandbox Code Playgroud)

用它来扩大规模

heroku ps:scale worker=1
Run Code Online (Sandbox Code Playgroud)

调度程序附加组件和工作器dyno彼此不同.