[英]Pull Queue leaseTasks is not returning any TaskHandles
我正在嘗試在Google AppEngine上使用Pull Queue ,這是設置
TEST_QUEUE
”(模式:PULL) QueueStatistics
以查看是否有任何待處理的任務,並計算要啟動的工作程序數並將工作程序配置(租賃,要提取的任務數等) 推送到“ 推送隊列”中 leaseTasks
Java API調用
我正在AppEngine基礎設施上對此進行測試,只有1個處理程序正在嘗試leaseTasks
這就是我添加任務的方式
Queue queue = QueueFactory.getQueue("TEST_QUEUE");
TaskOptions options = TaskOptions.Builder.withMethod(TaskOptions.Method.PULL)
.payload("Test");
這就是我試圖獲取任務的方式
Queue queue = QueueFactory.getQueue("TEST_QUEUE");
Logger.info("Task Count (Before): " + queue.fetchStatistics().getNumTasks());
List<TaskHandle> handles = queue.leaseTasks(300, TimeUnit.SECONDS, 100);
Logger.info("Task Count (After): " + queue.fetchStatistics().getNumTasks());
Logger.info("Handles: " + handles);
我在“ TEST_QUEUE”中有3個任務(也已通過管理控制台進行了確認)
Task Count (Before): 3
Task Count (After): 3
Handles: []
此后,當我在管理控制台中簽入時,任務將不再存在。 我想知道是否有人以前見過這個,還是我做錯了什么? 請指教
好吧...經過幾次嘗試和錯誤嘗試后,我發現了問題
以下是我上面提到的隊列的queue.xml
代碼段。
<queue>
<name>TEST_QUEUE</name>
<mode>pull</mode>
<retry-parameters>
<task-retry-limit>0</task-retry-limit>
</retry-parameters>
</queue>
從上述片段中刪除<retry-parameters>
后,此問題已修復。 我試圖從Push隊列轉換此隊列,所以我忽略了刪除它,因為Java Task Queue Configuration並未提及此參數僅適用於Push Queue
希望這可以幫助某人:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.