[Haskell-cafe] Bounded STM Queues with load shedding
Yuras Shumovich
shumovichy at gmail.com
Sat Feb 28 16:51:30 UTC 2015
On Sat, 2015-02-28 at 08:31 -0800, Alex Hammel wrote:
> Forwarding from Haskell-Beginners:
>
> Hi list,
>
> It would be handy for me to have a bounded STM Queue along the lines of
> TBQueue with the difference that when the queue is full, a call to
> writeTBQueue is a non-blocking no-op.
>
> This is in the context of an asynchronous logging system. If the load
> (somehow) gets heavy enough that the log message queue is taking up a lot
> of memory, It's better to lose a few log messages than to have processes
> block until the logger catches up.
>
> Are there any off-the-shelf solutions?
You can try the stm-chans package:
http://hackage.haskell.org/package/stm-chans-3.0.0.2/docs/Control-Concurrent-STM-TBMQueue.html#v:tryWriteTBMQueue
Thanks,
Yuras
>
> Cheers,
> Alex
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
More information about the Haskell-Cafe
mailing list