我想要一个串行队列,一次只能处理一个任务。这是我在queue.xml中的声明:
<queue>
<name>pumpkin</name>
<rate>20/s</rate>
<bucket-size>1</bucket-size>
<max-concurrent-requests>1</max-concurrent-requests>
</queue>
“rate”参数在此设置中是否有效?
我希望任务排队,一次只处理一个。
由于
答案 0 :(得分:0)
队列速率和存储区大小不会同时限制任务进程数。看到这个答案,它比(current) official docs更好地捕获了这些配置的(现在已经消失)官方解释(你可能想要相应地重新审视你的配置):https://stackoverflow.com/a/3740846/4495081
但根据the docs,您的max-concurrent-requests
应该确保一次只执行一项任务:
您可以通过将max_concurrent_requests设置为a来避免这种可能性 价值较低。例如,如果将max_concurrent_requests设置为10, 当延迟为0.3时,我们的示例队列维持大约20个任务/秒 秒。但是,当延迟增加超过0.5秒时,这就是 设置限制处理速率以确保不超过10 任务同时进行。