Hej, mam napisany dekorator w pythonie, który cały czas pobiera dane z websocketa i wykonuje funkcję. Używam go w innym pliku, działa on dobrze, ale niestety blokuje resztę kodu pod funkcją z tym dekoratem. Co mogę zrobić? Potrzebuję asyncio. Próbowałem z threadami + asyncio, ale nic to nie dało.
def event(self, func):
async def wrapper():
while True:
event = await self.ws.recv()
event = json.loads(event)
if event['t'] == func.__name__:
func(event)
loop = asyncio.get_event_loop()
loop.create_task(wrapper())
loop.run_forever()
Przykład jego użycia: (nie działało wklejanie kodu). Wszystko co jest pod funkcją z dekoratorem już się nie wykonuje, nawet inna funkcja z tym dekoratorem. Co mogę zrobić?