def task(self):
# This will be converted as a coroutine by loop.create_task()
# then executed by loop.run_forever() automatically in ModuleBase.run()
# until self.loop.stop() called
get_logger().debug(f"Waiting a message from {len(self.sockets)-1} socket(s)")
while True:
message = self.sockets['listen'].recv_string() # ex) PRICE 015760 45000
get_logger().debug(f"Received message [{message}]")
command = message.split()[0] # command: PRICE
args = message.split()[1:] # args: 015760 45000
try:
handler = self.handlers[command]
except KeyError: # might occurred when handler is not prepared
get_logger().error(f"No handler for command [{command}]")
continue
if await handler(*args) is False: # differs from 'if not handler(*args)'
break
评论列表
文章目录