燦主管(http://supervisord.org)跑在Heroku管理/監控幾個長時間運行的Python腳本(長輪詢SOAP監聽器)或者我必須使用測功機爲每個腳本。 如果可以使用每個腳本的dyno,它們會在故障或重新啓動後自動重啓嗎? (這基本上是我所需要的,這些腳本冗餘)如何使用supervisord在Heroku
1
A
回答
2
這在技術上是可能有一個Heroku的測功機上運行的某種監管方的過程中,會派生並自動重新啓動子進程。我自己用forever-monitor做了這個。我的Procfile有一條工作線process type,它運行了一個父進程,它產生並管理子進程。
所以,是的,這是可以做到的,技術上。
然而,你需要仔細考慮這是否有利於你的用例。這種方法的一個優點是它可以使您減少代價費用(因爲您將在單個代碼器上運行子進程而不是在單獨的dynos上運行)。 但是,這確實是「解決」Heroku最佳實踐(以及它背後的12 Factor App方法論)。
如果可能的話,它可能是更好,如果你可以讓Heroku的安排您的長時間運行的Python腳本作爲單獨的工作流程類型,每個對自己DYNO(S)。如果您可以負擔得起(按成本計算),那麼Heroku會在故障或重啓後自動重啓您的每個腳本(請參閱Restarting)。如果這就是你所需要的,那麼你根本不需要管理自己的「主管」 - 讓Heroku爲你做好這件事(它做得很好)。
相關問題
- 1. 如何在Supervisord的[supervisord]配置節中使用環境變量?
- 2. 在supervisord
- 3. 如何用supervisord監控nginx和cron?
- 4. 如何在Elastic Beanstalk上設置supervisord?
- 5. 如何在Heroku上使用web2py?
- 6. 如何在Heroku上使用Selenium Webdriver?
- 7. 如何在Heroku上使用Pygments.rb?
- 8. 如何在Heroku中使用Facebook PHP SDK?
- 9. 如何正確使用supervisord管理的RabbitMQ
- 10. supervisord和nginx如何處理龍捲風端口的使用?
- 11. Rails/heroku:如何使我的應用程序在heroku上工作
- 12. 命令Supervisord使用環境變量
- 13. 如何在Heroku
- 14. 如何在Heroku
- 15. 如何在Heroku
- 16. 使用texticle在Heroku
- 17. Supervisise ZooKeeper with Supervisord
- 18. 如何在Heroku的
- 19. 如何在生產中使用File.foreach? (使用heroku run rails c)
- 20. 的Heroku瞭如何使用Heroku的創建命令
- 21. 如何使用phoenix console(iex)和heroku?
- 22. 軌3,Heroku的,如何使用會話
- 23. 如何使用memcache加速rails/heroku
- 24. 如何將haml與heroku一起使用?
- 25. 如何使用Heroku的寶石
- 26. Supervisord - NGINX停止OSError
- 27. Nginx的supervisord配置
- 28. 芹菜多與supervisord
- 29. nginx +龍捲風+ supervisord
- 30. Laravel Supervisord DB死鎖
感謝您的答案,我將使用每個過程的動態。是否還有某種通知系統會在其動態運行的進程出現「錯誤」時觸發? – LtMerlin
有很多方法可以做到這一點。一種方法是添加Papertrail作爲日誌服務,然後爲Heroku錯誤配置自動通知(通過電子郵件,閒置等)。 –