[prev in list] [next in list] [prev in thread] [next in thread] 

List:       haskell-cafe
Subject:    Re: [Haskell-cafe] Yesod and concurrency
From:       Michael Snoyman <michael () snoyman ! com>
Date:       2011-01-31 12:36:49
Message-ID: AANLkTimeBChed-CwEozzfqA-qcxUSt8thy9WE8OH-TBf () mail ! gmail ! com
[Download RAW message or body]

On Mon, Jan 31, 2011 at 2:28 PM, Ertugrul Soeylemez <es@ertes.de> wrote:
> Michael Snoyman <michael@snoyman.com> wrote:
>
>> On Mon, Jan 31, 2011 at 1:09 PM, Ertugrul Soeylemez <es@ertes.de> wrote:
>> > Hello everybody,
>> >
>> > how well do WAI, Yesod and the 'persistent' package play with
>> > concurrency?  For example, I'd like to write a program, which
>> > concurrently provides two related sites as well as a few background
>> > workers, which do something with the database.  My idea would look
>> > something like this:
>> >
>> >  main :: IO ()
>> >  main =
>> >    withMyAppPool $ \pool -> do
>> >      forkIO $ worker1 ...   -- background worker
>> >      forkIO $ worker2 ...   -- background worker
>> >      forkIO $ worker3 ...   -- background worker
>> >      forkIO $ toWaiApp ...  -- site 1
>> >      forkIO $ toWaiApp ...  -- site 2
>> >
>> > Will I run into problems with this?
>>
>> There should not be any issues, just make sure you compile with
>> -threaded. The persistent database connection pool should work just
>> fine for this. If you find any issues, please let me know, but I have
>> not had trouble in the past.
>
> Thank you for your quick reply.  How are my chances to get patches to
> Yesod incorporated into the mainstream code?

If it's a clean patch and does not break backwards compatibility: very
high. If it's a clean patch that *does* break backwards compatibility:
still good, but you'll have to wait till a major release. For
not-so-clean patches, I suppose it depends on how dirty we're talking
;).

Michael

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic