灿主管(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错误配置自动通知(通过电子邮件,闲置等)。 –