使用Redis作为消息代理
如果不使用Redis的pub/sub,那就用Python来处理数据。
import redis
class RedisQueuer():
def __init__(self) -> None:
settings = get_settings()
self.redis_client = redis.Redis(
host=settings['redis']['host'],
port=settings['redis']['port']
)
self.topic_name = settings['topic_name']
def dequeue(self):
return self.redis_client.brpop(self.topic_name)
def enqueue(self, message):
self.redis_client.lpush(self.topic_name, message)
def complete(self, job):
return 'completed'