[Haskell-cafe] Yesod and concurrency
Michael Snoyman
michael at snoyman.com
Mon Jan 31 13:36:49 CET 2011
On Mon, Jan 31, 2011 at 2:28 PM, Ertugrul Soeylemez <es at ertes.de> wrote:
> Michael Snoyman <michael at snoyman.com> wrote:
>
>> On Mon, Jan 31, 2011 at 1:09 PM, Ertugrul Soeylemez <es at 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
More information about the Haskell-Cafe
mailing list