使用方法:
- 生产:
lazy_que = RedisDelayedQueue(redis_conn, 'prefix')
lazy_que.add('value1', 100) # add()之后会在expire(秒)之后才能get到,重复add()的话重新计时。
- 消费:
lazy_que = RedisDelayedQueue(redis_conn, 'prefix')
while True:
res = lazy_que.pop()
if res:
process()
使用redis的zset。
用释放时间点的时间戳做score,然后使用zrangebyscore(que_name, 0, now_ts)
来获取计时结束的队列元素。