Improved default doOneListen loop

This commit is contained in:
Mads Marquart
2017-09-19 16:42:03 +02:00
parent 1d2576b06d
commit cb8b0915de

View File

@@ -1438,17 +1438,17 @@ class Client(object):
""" """
try: try:
if markAlive: self._ping(self.sticky, self.pool) if markAlive: self._ping(self.sticky, self.pool)
try: content = self._pullMessage(self.sticky, self.pool)
content = self._pullMessage(self.sticky, self.pool) if content:
if content: self._parseMessage(content) self._parseMessage(content)
except requests.exceptions.RequestException:
pass
except Exception as e:
return self.onListenError(exception=e)
except KeyboardInterrupt: except KeyboardInterrupt:
return False return False
except requests.exceptions.Timeout: except requests.Timeout:
pass pass
except requests.ConnectionError:
time.sleep(30)
except Exception as e:
return self.onListenError(exception=e)
return True return True
@@ -1509,8 +1509,10 @@ class Client(object):
Called when an error was encountered while listening Called when an error was encountered while listening
:param exception: The exception that was encountered :param exception: The exception that was encountered
:return: Whether the loop should keep running
""" """
log.exception('Got exception while listening') log.exception('Got exception while listening')
return True
def onMessage(self, mid=None, author_id=None, message=None, thread_id=None, thread_type=ThreadType.USER, ts=None, metadata=None, msg={}): def onMessage(self, mid=None, author_id=None, message=None, thread_id=None, thread_type=ThreadType.USER, ts=None, metadata=None, msg={}):