Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为多个队列编写使用者的最佳方法_Python_Redis_Queue - Fatal编程技术网

Python 为多个队列编写使用者的最佳方法

Python 为多个队列编写使用者的最佳方法,python,redis,queue,Python,Redis,Queue,我的情况如下: 我有一个简单的Redis包装器。它所做的是,它接受一个项目(dict)作为输入,并通过RPUSH将其放入链表数据类型中。在一个队列中放置新项目的请求实际上可能会产生许多新队列 现在我想读取每个队列中最左边的项目,而不进行LPOP。我需要这些物品留在队列中。所以我要做的是,我做一个LRANGE,从队列中获取最左边的项目 我的问题是我不知道如何为我的队列编写消费者。我假设每个队列应该有一个消费者?这意味着我会有很多消费者的例子,听起来像是一个糟糕的设计决策 我是否应该只获取所有队列的

我的情况如下:

我有一个简单的Redis包装器。它所做的是,它接受一个项目(dict)作为输入,并通过RPUSH将其放入链表数据类型中。在一个队列中放置新项目的请求实际上可能会产生许多新队列

现在我想读取每个队列中最左边的项目,而不进行LPOP。我需要这些物品留在队列中。所以我要做的是,我做一个LRANGE,从队列中获取最左边的项目

我的问题是我不知道如何为我的队列编写消费者。我假设每个队列应该有一个消费者?这意味着我会有很多消费者的例子,听起来像是一个糟糕的设计决策

我是否应该只获取所有队列的所有键,并在它们之间循环,反复处理最左边的项

我应该如何为我拥有的队列编写我的消费者?
我真的被卡住了,似乎没有一个标准的生产者/消费者实现能回答我的问题。我也研究过redis streams,但我不能使用它们,因为我无法做出决定。

当我能做到这一点时,你为什么要这么做?@sonus21因为管理层决定我们应该编写自己的解决方案。我实际上可能只需要循环使用至少一项就可以了。明白了,不,这不是正确的处理方式,有很多移动的东西。给它一个阅读或采取一些想法rq@sonus21非常感谢你。我知道这是一种处理排队的好方法。这就是为什么我一直回避它。实际上我也看过RQ的源代码。我要读这篇文章。