簡體   English   中英

Heroku上的Rake任務可以超時嗎?

[英]Can a Rake task on Heroku time out?

我正在使用Heroku,並希望通過cron調用一個腳本(在另一台服務器上),該腳本定期在我的Heroku應用程序上請求操作。 此操作將依次運行一些可能需要1或2分鍾才能完成的處理。 我相信Heroku有30秒的請求限制,我認為可以從我的控制器操作調用Rake任務。

這會有用嗎? 我很好奇是否還有人試過這個。

謝謝。

只要您不使用HTTP請求作為代理來啟動任務,rake任務就會起作用。 實際上,如果任務是從HTTP請求分叉的,則超時將與HTTP請求相同。

您應該使用不同的方法來啟動任務。 無論是crontab(在Heroku方面)還是工作者都是很好的解決方案。

為了這個,我建議在工人身上使用后台工作。 然后,您的定期流程只需要啟動工作人員,這個過程需要多長時間。

我剛剛創建了一個寶石來解決這個問題。 它允許您將任何rake任務排隊為delayed_job,例如

rake delay:db:seed

哪個會執行

rake db:seed

作為delayed_job。 您可以在http://rubygems.org/gems/delayed_taskhttp://blog.opsb.co.uk/long-running-rake-tasks-on-heroku找到它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM