大小为1的任务队列,用于串行处理

时间:2016-08-03 21:40:04

标签: google-app-engine

我想要一个串行队列,一次只能处理一个任务。这是我在queue.xml中的声明:

<queue>
    <name>pumpkin</name>
    <rate>20/s</rate>
    <bucket-size>1</bucket-size>
    <max-concurrent-requests>1</max-concurrent-requests>
</queue>

“rate”参数在此设置中是否有效?

我希望任务排队,一次只处理一个。

由于

1 个答案:

答案 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   任务同时进行。