是否建议将牛仔添加到应用程序主管树中?

vag*_*ond 4 erlang cowboy

我有一台作为独立应用程序启动Cowboy和Ranch的服务器-也就是说,它们有自己的主管,它们不在我的应用程序的主管树中。

将牛仔包含在应用程序的主管树中是最佳实践吗?如果是这样,您该怎么做?

Nat*_*rot 5

“入门”文档中所述,使用Cowboy的典型方法是将其列为.app文件中的依赖项。这样做将通知运行时,您必须先启动Cowboy应用程序,然后才能启动您自己的应用程序。

此设置很简单(您的一行.app),并且通常应该很健壮。Cowboy将根据需要重新启动崩溃的工作人员,您的应用程序并不为此担心。许多其他重要的库(例如内核)也是以相同的方式启动的,因此您的关系很好。

但是,您的应用程序可能需要与Cowboy紧密融合。也许您希望整个Cowboy监管树崩溃并且想要重新启动它?或者也许您的某些进程死了时需要重新启动Cowboy?

为此,您需要查看cowboy_sup:start_link/0ranch_sup:start_link/0