make sure to run commands in the multiserver asyncio loop

This commit is contained in:
Fabian Dill 2020-06-22 01:04:12 +02:00
parent 6a5207900f
commit 43a713b117
1 changed files with 2 additions and 1 deletions

View File

@ -23,6 +23,7 @@ class DBCommandProcessor(ServerCommandProcessor):
class WebHostContext(Context):
def __init__(self):
super(WebHostContext, self).__init__("", 0, "", 1, 40, True, "enabled", "enabled", 0)
self.main_loop = asyncio.get_running_loop()
def listen_to_db_commands(self):
cmdprocessor = DBCommandProcessor(self)
@ -32,7 +33,7 @@ class WebHostContext(Context):
commands = select(command for command in Command if command.room.id == self.room_id)
if commands:
for command in commands:
cmdprocessor(command.commandtext)
self.main_loop.call_soon_threadsafe(cmdprocessor, command.commandtext)
command.delete()
commit()
time.sleep(5)