我正在使用Scotty在网络服务器上工作。我可以运行ghci
并继续使用:r
来重新加载我的代码,但如果我甚至运行main
我就无法重新启动网络服务器而不会删除ghci。
如何在不关闭main
的情况下取消ghci
?有没有更好的方法来处理Web服务器并自动重启它们?
答案 0 :(得分:5)
在:set args <arg> ...
中调用ghci
以设置System.getArgs
将返回的参数。
然后,使用async
包,使用ghci
之类的内容在a <- async main
中启动服务器。
稍后调用cancel a
来终止服务器。
另请参阅this link,其中说明了即使在服务器运行时如何重新加载代码。