[Haskell-cafe] Lifetime control of webserver

Lyndon Maydwell maydwell at gmail.com
Fri Jul 13 02:54:41 UTC 2018


Yes that's what I had in mind.

You can do some fun things with Control.Concurrent.Chan as well if you need
special sequencing, or limits on requests served or callbacks into the main
thread etc.

 - Lyndon

On Fri, Jul 13, 2018 at 12:32 PM ☂Josh Chia (謝任中) <joshchia at gmail.com>
wrote:

> Do you mean something like calling the scotty function in a server thread
> and then killing the server thread when I want to stop serving? If proper
> cleanup happens when I kill the thread, this should work for me.
>
> On Fri, Jul 13, 2018 at 10:01 AM Lyndon Maydwell <maydwell at gmail.com>
> wrote:
>
>> Not sure if I'm missing something, but is there any reason why you
>> couldn't spin up the server in a thread then kill it when required?
>>
>>
>>  - Lyndon
>>
>> On Fri, Jul 13, 2018 at 11:51 AM ☂Josh Chia (謝任中) <joshchia at gmail.com>
>> wrote:
>>
>>> Hi,
>>>
>>> My application is not a webserver but needs to run a webserver for part
>>> but not all of its lifetime. Particularly, there's a part that does some
>>> complex computation and I want a webserver to expose its internal
>>> state/progress through HTTP.
>>>
>>> It seems that the typical and expected way to use a webserver is to
>>> designate the entire app itself as a webserver, so that functions like the
>>> following are basically infinite loops that serve HTTP:
>>>
>>> Web.Scotty.scotty:
>>> http://hackage.haskell.org/package/scotty-0.11.2/docs/Web-Scotty.html#v:scotty
>>>
>>> Network.Wai.Handler.Warp.run:
>>> http://hackage.haskell.org/package/warp-3.2.22/docs/Network-Wai-Handler-Warp.html#v:run
>>>
>>> Can I run a webserver with explicit control of its lifetime?
>>> Particularly, I want to be able to kill it without killing the app or
>>> explicitly serve one request at a time. I'm not restricted to scotty or
>>> warp.
>>>
>>> Josh
>>> _______________________________________________
>>> Haskell-Cafe mailing list
>>> To (un)subscribe, modify options or view archives go to:
>>> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
>>> Only members subscribed via the mailman list are allowed to post.
>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/haskell-cafe/attachments/20180713/3e36a25e/attachment-0001.html>


More information about the Haskell-Cafe mailing list