消费者Redis架构实现阻塞生产者消费者模式(redis 阻塞生产者)

  阻塞生产者消费者模式是一种常见的模式,它具有生产者发布任务、消费者消费任务和消息队列存储任务的三种成分。Redis消费者架构实现阻塞生产者消费者模式的思路是,将任务定义为可阻塞的命令,生产者往Redis消息队列传递任务,消费者从队列获取任务,执行完任务则将结果存入Redis中。

  下面具体介绍一下,Redis消费者架构实现阻塞生产者消费者模式的实现方式:

1. 定义阻塞生产者消费者模式的实现命令:

  首先定义有关ESTABLISH,CONSUME和RESULT的命令,其格式如下:

ESTABLISH:   
CONSUME:
RESULT:

2. 启动生产者:

  生产者启动后,会从队列中任务并往Redis消息队列传递ESTABLISH命令。

# 生产者启动
while True:
# 从队列中取出任务信息
task = dequeue()
# 将ESTABLISH命令传递到Redis消息队列
rc.lpush('ESTABLISH', json.dumps({'task_id': task.task_id, 'data': task.data}))

3. 启动消费者:

  消费者启动后,它会向Redis消息队列发送CONSUME命令,用于获取任务,取出的任务就是队列中的任务;当然,如果不加任务的话,CONSUME会一直发送,直到发现任务


数据运维技术 » 消费者Redis架构实现阻塞生产者消费者模式(redis 阻塞生产者)