def run_event_loop(self, close_after=None):
self._loop.add_signal_handler(signal.SIGHUP, self.shutdown)
self._loop.add_signal_handler(signal.SIGINT, self.shutdown)
self._loop.add_signal_handler(signal.SIGTERM, self.shutdown)
try:
self._loop.run_until_complete(asyncio.wait([
self._close_after(close_after),
self._main(),
self._listen_to_queue()
]))
except CancelledError:
self._log('CancelledError raised: closing event loop.')
with self._lock:
self._run_complete = True
finally:
self._loop.close()
评论列表
文章目录