From 1daa6df346617bee75202f0fb44cb6964237d22b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gina=20H=C3=A4u=C3=9Fge?= Date: Mon, 19 Jan 2015 12:13:04 +0100 Subject: [PATCH] Added exception logging for event bus worker loop --- src/octoprint/events.py | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/src/octoprint/events.py b/src/octoprint/events.py index 4ad9696a..f16c23f8 100644 --- a/src/octoprint/events.py +++ b/src/octoprint/events.py @@ -109,22 +109,25 @@ class EventManager(object): self._worker.start() def _work(self): - while True: - (event, payload) = self._queue.get(True) + try: + while True: + (event, payload) = self._queue.get(True) - eventListeners = self._registeredListeners[event] - self._logger.debug("Firing event: %s (Payload: %r)" % (event, payload)) + eventListeners = self._registeredListeners[event] + self._logger.debug("Firing event: %s (Payload: %r)" % (event, payload)) - for listener in eventListeners: - self._logger.debug("Sending action to %r" % listener) - try: - listener(event, payload) - except: - self._logger.exception("Got an exception while sending event %s (Payload: %r) to %s" % (event, payload, listener)) + for listener in eventListeners: + self._logger.debug("Sending action to %r" % listener) + try: + listener(event, payload) + except: + self._logger.exception("Got an exception while sending event %s (Payload: %r) to %s" % (event, payload, listener)) - octoprint.plugin.call_plugin(octoprint.plugin.types.EventHandlerPlugin, - "on_event", - args=[event, payload]) + octoprint.plugin.call_plugin(octoprint.plugin.types.EventHandlerPlugin, + "on_event", + args=[event, payload]) + except: + self._logger.exception("Ooops, the event bus worker loop crashed") def fire(self, event, payload=None): """