python - 从 Redis 中的 channel 弹出消息

标签 python python-3.x redis publish-subscribe

我需要在特定 channel 的一台机器( setter )上发布消息,并在其他机器(处理程序)上获取它。问题是每个处理程序都应该处理唯一的消息。

正如我在 documentation 中看到的那样, 没有从 channel 弹出消息的标准方法,也许我尝试以错误的方式使用它?

处理程序代码如下:

 import redis

 r=redis.Redis()
 pubsub = r.pubsub()
 pubsub.subscribe('test_channel')
 for item in self.pubsub.listen():
    ...

这里是setter的代码:

import redis

r = redis.Redis()
r.publish('test_channel', 'test message')

最佳答案

Pub/Sub 不适合这种模式 - 考虑使用 List 并在处理程序中调用阻塞弹出操作。

关于python - 从 Redis 中的 channel 弹出消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47389906/

相关文章:

Python:创建名称较短的文件路径?

asp.net - 缓存大量数据

python - 为什么我的按钮的命令在我创建按钮时立即执行,而不是在我单击它时执行?

python - 通过文件目标完美缓存

python - 解码、小端、未压缩和 float 组

python - 带有十六进制输入的 Python 中的 CRC32 校验和

python - 导入后未将属性添加到模块

python - YouTube-dl 从 Reddit 下载并命名视频

python - aioredis + aiohttp 正确使用连接池

Redis-cli --csv 选项(导出到 csv)