2

我正在编写一个 Yesod 应用程序,但它还需要分叉几个非 Web 服务。(UDP监听器、TCP监听端口等)

拼接叉子的正确位置在哪里,这样可以无缝地工作,无论我的应用程序是在“yesod devel”中运行还是部署用于生产。

PS我真的只想添加一个伪Main,它将由任何一个通过WAI运行应用程序的网络服务器分叉(在服务启动时)。

4

1 回答 1

3

你应该把它放在makeApplication脚手架Application.hs文件的函数中。

此函数将为您启动的 Web 应用程序的每个实例运行一次1,并且由于您几乎总是只运行应用程序的一个实例,因此您应该在此处执行此操作。

1请注意,理论上可以在同一个进程中运行同一个 WAI 应用程序的多个实例,例如,如果您希望两个实例监听不同的端口,但默认情况下这永远不会发生

于 2012-06-10T15:09:51.887 回答