def receive_messages(self, controlq):
self._trigger_worker = Thread(target=self.trigger_worker)
self._trigger_worker.start()
while True:
try:
try:
if controlq.get_nowait() is StopIteration:
raise
except Empty:
pass
message = self.receive()
if message is None:
continue
# print(json.dumps(message, indent=4))
if isinstance(message, Exception):
self.dispatch_reply(message.id, message, [])
elif 'id' in message:
self.dispatch_reply(message['id'], message, [])
else:
self.dispatch_event(message)
except (KeyboardInterrupt, StopIteration, websocket.WebSocketException) as e:
logging.debug('Fatal receive message: {}'.format(e))
break
self.dispatch_event(StopIteration)
logging.info('Stopping receive thread')
评论列表
文章目录