Bounded STM Queues with load shedding
Hi list, It would be handy for me to have a bounded STM Queue along the lines of TBQueue <https://hackage.haskell.org/package/stm-2.4/docs/Control-Concurrent-STM-TBQueue.html> 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? Cheers, Allex <https://hackage.haskell.org/package/stm-2.4/docs/Control-Concurrent-STM-TBQueue.html>
You're probably not on the right mailing list, this seems more appropriate to Haskell-cafe than to Haskell-beginners. On Fri, Feb 27, 2015 at 11:32 PM, Alex Hammel <ahammel87@gmail.com> wrote:
Hi list,
It would be handy for me to have a bounded STM Queue along the lines of TBQueue <https://hackage.haskell.org/package/stm-2.4/docs/Control-Concurrent-STM-TBQueue.html> 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?
Cheers, Allex
<https://hackage.haskell.org/package/stm-2.4/docs/Control-Concurrent-STM-TBQueue.html>
_______________________________________________ Beginners mailing list Beginners@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
participants (2)
-
Alex Hammel -
Chaddaï Fouché