我正在编写Yesod应用程序,但它还需要分叉几个非Web服务。 (UDP侦听器,TCP侦听端口等)
在fork中拼接的正确位置在哪里,无论我的应用程序是在“yesod devel”中运行还是部署用于生产,这都可以无缝地工作。
附:我真的只想添加一个伪Main,它将被分叉(在服务启动时)由哪个Web服务器通过WAI运行应用程序。
你应该把它放在scaffolded makeApplication
文件中的Application.hs
函数中。
对于启动1的Web应用程序的每个实例,此函数将运行一次,并且由于您几乎总是只运行应用程序的一个实例,因此您应该这样做。
1注意理论上可以在同一个过程中运行同一个WAI应用程序的多个实例,例如如果你想要两个侦听不同端口的实例,但默认情况下这绝不会发生