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]): """создаеёт новое хранимое уведомление""" with local_session() as session: try: 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((await message).get("data", "")) if msg: await handle_reaction(msg)