我有一個隊列定義如下:爲什麼隊列上的GAE任務運行得比指定的更頻繁?
....
<queue>
<name>sendMailsBatch</name>
<rate>1/m</rate>
<max-concurrent-requests>1</max-concurrent-requests>
<retry-parameters>
<min-backoff-seconds>70</min-backoff-seconds>
<max-doublings>1</max-doublings>
</retry-parameters>
</queue>
....
我希望這是每一個任務運行時間之間的至少60秒的時間間隔。無論是因爲失敗而運行的任務是相同的任務,還是運行不同的任務,都必須如此。
該過程從一個任務放入隊列開始,如果所有數據存儲操作都成功完成,則此任務將結束 - 向隊列中添加另一個任務(因爲它使用由數據存儲操作執行的遊標任務)。
爲什麼在任務執行此頻繁,當我已經配置了最多一個任務可以同時運行,並在每分鐘最多一項任務,如果一項任務失敗,運行之間至少應該有70秒?
感謝, -Louise
太棒了,它的工作原理!非常感謝你。 我認爲儘管參數最大併發請求是相當誤導。它實際上意味着最大併發請求每桶? – Lull
我相信這是可以在特定隊列的任何給定時間處理的最大請求數。如果您已將最大併發請求數設置爲2,並且您的sendMailsBatch存儲桶中有2個任務,則App Engine可能會啓動兩個處理程序來完成這些任務。 – dwelling