import json from orm.notification import Notification from services.db import local_session from services.rediscache import redis async def handle_reaction(notification: dict[str, str | int]): """создаеёт новое хранимое уведомление""" try: with local_session() as session: n = Notification(**notification) session.add(n) session.commit(n) except Exception as e: session.rollback() print(f"[listener.handle_reaction] error: {str(e)}") async def reactions_worker(): async for message in redis.listen("reaction"): msg = json.loads(message["data"]) if msg: await handle_reaction(msg)