BLPOP 是 LPOP 的组塞版本,在异步任务中,可以利用这个特性来实现 RPC。
# App def query # Enqueue task... @redis.blpop(task_id, TIMEOUT) end # Worker def received @redis.rpush(task_id, response) end