【发布时间】:2011-12-14 10:39:36
【问题描述】:
我想为我的 web 应用程序实现一个“正常关闭”命令(与我的第一直觉相反,即要求人们终止进程)
我的前两次尝试包括
liftIO exitSuccessE.yield (responseLBS statusOK [G.contentType "text/plain"] "") E.EOF
两者都只是兴高采烈地向客户返回结果并继续收听。应用程序有什么可以杀死服务器的吗?这甚至是一件合理的事情吗?
我承认我对 iteratee 的理解不是很深,只知道我可以使用我的输入并且 Iteratee 是一个 MonadIO 实例。
【问题讨论】:
-
眯着眼睛看groups.google.com/forum/#!topic/yesodweb/VoenrabRUBQ,似乎对我有用的一个技巧是使用 Concurrent Haskell:(1) fork 运行应用程序 (2) 等待一个 MVar 和(3) 当我准备停下来的时候,把东西放进那个 MVar...
-
这也是我推荐的。