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()