I have a following queue definition
<queue>
<name>ranker-queue</name>
<mode>pull</mode>
</queue>
in a loop of 10 times
Queue q = QueueFactory.getQueue("ranker-queue");
TaskOptions taskOptions = TaskOptions.Builder.withMethod(TaskOptions.Method.PULL);
q.add(taskOptions);
in a loop of 10 times
Queue q = QueueFactory.getQueue("ranker-queue");
List<TaskHandle> tasks = q.leaseTasks(3600, TimeUnit.SECONDS, 5);
//Processing
q.deleteTask( tasks );
In both cases after looping few times it gives the following exception
com.google.appengine.api.taskqueue.InvalidQueueModeException: Target queue mode does not support this operation : null
at com.google.appengine.api.taskqueue.QueueApiHelper.translateError(QueueApiHelper.java:139)
at com.google.appengine.api.taskqueue.QueueImpl$2.wrap(QueueImpl.java:552)
at com.google.appengine.api.taskqueue.QueueImpl$2.wrap(QueueImpl.java:521)
at com.google.appengine.api.utils.FutureWrapper.wrapAndCache(FutureWrapper.java:55)
at com.google.appengine.api.utils.FutureWrapper.get(FutureWrapper.java:92)
at com.google.appengine.api.utils.FutureWrapper.get(FutureWrapper.java:88)
at com.google.appengine.api.taskqueue.QueueApiHelper.getInternal(QueueApiHelper.java:72)
at com.google.appengine.api.taskqueue.QueueImpl.add(QueueImpl.java:413)
and
Caused by: com.google.appengine.api.taskqueue.InvalidQueueModeException: Target queue mode does not support this operation :
at com.google.appengine.api.taskqueue.QueueApiHelper.translateError(QueueApiHelper.java:139)
at com.google.appengine.api.taskqueue.QueueApiHelper.translateError(QueueApiHelper.java:153)
at com.google.appengine.api.taskqueue.QueueApiHelper$1.convertException(QueueApiHelper.java:52)
at com.google.appengine.api.utils.FutureWrapper.get(FutureWrapper.java:96)
at com.google.appengine.api.utils.FutureWrapper.get(FutureWrapper.java:88)
at com.google.appengine.api.taskqueue.QueueApiHelper.getInternal(QueueApiHelper.java:72)
at com.google.appengine.api.taskqueue.QueueImpl.leaseTasks(QueueImpl.java:810)