Код: Выделить всё
import redis
from app.infra.services.notifications import INotifier
from app.schemas.notification import NotificationMessage
from app.config import settings
REDIS_CLIENT_PUBSUB = redis.StrictRedis(
host=settings.REDIS_HOST,
port=settings.REDIS_PORT,
password=settings.REDIS_PASSWORD,
)
class RedisNotifier(INotifier):
def __init__(self):
self.redis_client = REDIS_CLIENT_PUBSUB
async def send_notification(self, room: str, notification: NotificationMessage) -> None:
await self.redis_client.publish(room, notification.json())
redis_notifier = RedisNotifier()
self.redis_client.publish(room, Notification.json())
Это асинхронно, то есть мое веб-приложение сможет отказаться от этой сопрограммы и делать другие вещи, пока публикация завершена?
Я немного запутался с библиотекой redis и aioredis, я не знаю, имеет ли мой код смысл или я делаю что-то неправильно
Подробнее здесь: https://stackoverflow.com/questions/786 ... ynchronous
Мобильная версия