5

我有一个服务器,它把牛仔和牧场作为一个独立的应用程序启动——也就是说,它们有自己的主管,它们不在我的应用程序的主管树中。

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

4

1 回答 1

7

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

此设置很简单(您的 中的一行.app)并且通常应该是健壮的。Cowboy 将根据需要重新启动崩溃的工作程序,您的应用程序并不真正担心它。许多其他重要的库(例如内核)都是以同样的方式启动的,所以你是一个很好的伙伴。

但是,您的应用程序可能需要与 Cowboy 深度纠缠。也许您希望整个 Cowboy 监督树崩溃并且您想重新启动它?或者,当您的某个进程死亡时,您可能需要重新启动 Cowboy?

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

于 2015-02-03T03:09:57.660 回答