From 332e0f50805c240b3a3e5b2a4bdcc1c507d4395b Mon Sep 17 00:00:00 2001 From: Rudi Grinberg Date: Fri, 27 Jul 2012 15:38:09 -0400 Subject: [PATCH] cc-4105-2: added a separate thread to flush messages from kombu --- .../media-monitor2/media/monitor/eventdrainer.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 python_apps/media-monitor2/media/monitor/eventdrainer.py diff --git a/python_apps/media-monitor2/media/monitor/eventdrainer.py b/python_apps/media-monitor2/media/monitor/eventdrainer.py new file mode 100644 index 000000000..54809034c --- /dev/null +++ b/python_apps/media-monitor2/media/monitor/eventdrainer.py @@ -0,0 +1,15 @@ +import socket +from media.monitor.log import Loggable +from media.monitor.toucher import RepeatTimer + +class EventDrainer(Loggable): + def __init__(self, connection, interval=1): + def cb(): + try: connection.drain_events(timeout=0.1) + except socket.timeout: pass + except Exception as e: + self.logger.error("Error flushing events") + self.logger.error( str(e) ) + t = RepeatTimer(interval, cb) + t.daemon = True + t.start()