如何在Heroku上使用supervisord

2024-05-14 17:31:18 发布

您现在位置:Python中文网/ 问答频道 /正文

supervisor(http://supervisord.org)可以在Heroku上运行和管理/监视几个长时间运行的python脚本(长轮询SOAP侦听器),还是必须为每个脚本使用dyno。 如果每个脚本都可以使用dyno,它们会在失败后自动重启还是重启?(这基本上就是我需要的,那些脚本的冗余)


Tags: org脚本httpherokusoapsupervisordsupervisor侦听器
1条回答
网友
1楼 · 发布于 2024-05-14 17:31:18

从技术上讲,让Heroku dyno运行某种类型的父管理器进程是可能的,它会生成并自动重新启动子进程。我自己用forever-monitor做过这个。我的Procfile中有一行表示worker process type,该工作进程运行生成和管理子进程的父进程。在

所以是的,从技术上讲,这是可以做到的。在

但是,您需要仔细考虑这是否对您的用例有利。这种方法的一个优点是,它可能使您能够降低dyno成本(因为您将在单个dyno上运行子进程,而不是在单独的dyno上运行)。 但这实际上是在“围绕”Heroku最佳实践(以及背后的12 Factor App方法)。在

如果可能的话,最好允许Heroku将长时间运行的python脚本作为单独的工作进程类型调度,每个进程都在自己的dyno上。如果您有能力这样做(成本方面),那么Heroku将在失败或重新启动后自动重新启动每个脚本(参见Restarting)。如果这就是你所需要的,那么你根本不需要管理你自己的“主管”——让Heroku来帮你解决这个问题(它做得很好)。在

相关问题 更多 >

    热门问题