【发布时间】:2016-07-11 00:38:19
【问题描述】:
推送队列有这个奇怪的问题。
我只需要一次从这个队列中运行一个任务。我已经配置了一个将 max-concurrent-requests 设置为 1 的推送队列。但是当我将任务提交到队列时,它们最终会并行运行。我不得不将速度降低到每分钟 1 次。但是如果我的任务花费超过 1 分钟会怎样?他们两个将并行运行。
<queue>
<name>winCoinsCalculatorQueue</name>
<max-concurrent-requests>1</max-concurrent-requests>
<rate>1/m</rate>
</queue>
我也尝试了 1,但它似乎仍然并行处理多个项目。
有人知道如何让队列一次只允许处理一项任务吗?
阿伦
【问题讨论】:
-
您能否详细说明为什么您认为将 max concurrent 设置为 1 时会并行运行多个任务?
-
当我在运行任务的 servlet 上进行调试时,我看到两个线程卡在调试上。如果我提交三个任务,我会看到三个线程。它完全忽略了最大并发请求