InvalidQueueModeException:目标队列模式不支持此操作:

时间:2019-05-28 10:28:54

标签: google-app-engine queue task

当我运行以下代码时 任务= addPushQueue.leaseTasks(30,TimeUnit.MINUTES,100);

它抛出以下异常,将其设置为推送队列,并且队列中有任务,我只是尝试访问任务。

INFO] GCLOUD:com.google.appengine.api.taskqueue.InvalidQueueModeException:目标队列模式不支持此操作: [INFO] GCLOUD:位于com.google.appengine.api.taskqueue.QueueApiHelper.translateError(QueueApiHelper.java:145)〜[appengine-api-1.0-sdk-1.9.74.jar:na] [INFO] GCLOUD:位于com.google.appengine.api.taskqueue.QueueApiHelper.translateError(QueueApiHelper.java:159)〜[appengine-api-1.0-sdk-1.9.74.jar:na] [INFO] GCLOUD:位于com.google.appengine.api.taskqueue.QueueApiHelper $ 1.convertException(QueueApiHelper.java:55)〜[appengine-api-1.0-sdk-1.9.74.jar:na] [INFO] GCLOUD:位于com.google.appengine.api.utils.FutureWrapper.get(FutureWrapper.java:97)〜[appengine-api-1.0-sdk-1.9.74.jar:na] [INFO] GCLOUD:位于com.google.appengine.api.utils.FutureWrapper.get(FutureWrapper.java:89)〜[appengine-api-1.0-sdk-1.9.74.jar:na] [INFO] GCLOUD:位于com.google.appengine.api.taskqueue.QueueApiHelper.getInternal(QueueApiHelper.java:78)〜[appengine-api-1.0-sdk-1.9.74.jar:na] [INFO] GCLOUD:位于com.google.appengine.api.taskqueue.QueueImpl.leaseTasks(QueueImpl.java:797)〜[appengine-api-1.0-sdk-1.9.74.jar:na] [INFO] GCLOUD:位于com.cav.googlecloud.task.service.taskservice.AbstractTaskService.leaseTasks(AbstractTaskService.java:180)〜[classes /:na] [INFO] GCLOUD:位于com.cav.googlecloud.task.service.taskservice.AbstractTaskService.PushNotificationWorker(AbstractTaskService.java:170)〜[classes /:na] [INFO] GCLOUD:位于com.cav.googlecloud.task.service.taskservice.AbstractTaskService.fundWorkerPushPayload(AbstractTaskService.java:99)〜[classes /:na] [INFO] GCLOUD:位于com.cav.googlecloud.task.service.taskservice.TaskServiceImpl.getFundsPayloadPush(TaskServiceImpl.java:103)〜[classes /:na] [INFO] GCLOUD:位于com.cav.googlecloud.task.service.controller.FundTaskController.listFundsPayload(FundTaskController.java:75)〜[classes /:na] [INFO] GCLOUD:位于sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)〜[na:1.8.0_201] [INFO] GCLOUD:位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)〜[na:1.8.0_201] [INFO] GCLOUD:位于sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)〜[na:1.8.0_201] [INFO] GCLOUD:位于java.lang.reflect.Method.invoke(Method.java:498)〜[na:1.8.0_201]

1 个答案:

答案 0 :(得分:0)

“拉入队列”中使用了租赁任务,但是您的队列名称为addPushQueue,所以我想它是“推入队列”。

由于您使用的是AppEngine标准环境中的内部API,因此可以使用Pull Queues,只需在配置文件上将队列的mode更改为pull,如果有,请点击以下链接您使用YAMLXML