从 Redis 中的通道弹出消息

Pop message from channel in Redis

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

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

这是处理程序的代码:

 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 并在处理程序中调用阻塞弹出操作。