我有一個沉重的過程,它將我希望使用'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。 –