Код: Выделить всё
redis_connection = redis.Redis(
host=settings.REDIS_HOST,
port=settings.REDIS_PORT,
db=settings.REDIS_CACHE_DB,
)
pubsub = redis_connection.pubsub()
pubsub.subscribe(events=process_event)
Код: Выделить всё
connection.publish("events", json.dumps({"user_email": user.email, "message": message}))
Код: Выделить всё
count = connection.publish("events", json.dumps({"user_email": user.email, "message": message}))
print(f"Published to events channel with {count} subscribers")
redis-cli
127.0.0.1:6379> События PUBSUB NUMSUB
- "события"
(целое число) 0< /li>
127.0.0.1:6379>
Журналы самого redis-stack, похоже, не распознают ни подписку, ни публикацию. Однако, если я использую команду «redis-cli Monitor», я вижу, что оба отображаются:
1727460056.950779 [0 172.17.0.1:58210] «КЛИЕНТ» " SETINFO" "LIB-NAME" "redis-py"
1727460056.952892 [0 172.17.0.1:58210] "CLIENT" "SETINFO" "LIB-VER" "5.0.8"
1727460056.954072 [1 172.17. 0.1:58210] "SELECT" "1"
1727460056.956442 [1 172.17.0.1:58210] "SUBSCRIBE" "events "
1727460122.677189 [0 172.17.0.1:45874] "CLIENT" "SETINFO" "LIB-NAME" "redis- py"
1727460122.678973 [0 172.17.0.1:45874] "CLIENT" "SETINFO" "LIB-VER" "5.0.8"
1727460122.681286 [1 172.17.0.1:45874] "SELECT" "1"
1727460122.683120 [1 172.17.0.1:45874] "ПУБЛИКОВАТЬ" "events" "{"user_email": "admin@ domain.com", "message": "Содержимое сообщения"}"
После всего этого события PUBSUB NUMSUB по-прежнему дают тот же результат.
Подробнее здесь: https://stackoverflow.com/questions/790 ... -that-chan