[英]What's wrong with my creation of Google PULL queue?
我是Google App Engine的新手,所以您愿意为我澄清一些事情吗?
我正在创建一个新的PULL队列,这是我的queue.xml
<queue-entries>
<queue>
<name>app-metered-queue</name>
<mode>pull</mode>
</queue>
</queue-entries>
在我的服务中,我使用以下代码实例化Queue
实例
private final Queue appMeteredQueue = QueueFactory.getQueue("app-metered-queue");
在其中添加一些数据后:
final List<TaskOptions> taskOptions = new ArrayList<>();
for (final Map.Entry<Long, Map<String, Map<String, Long>>> entry : bundledData.entrySet()) {
taskOptions.add(TaskOptions.Builder
.withPayload(mapper.writeValueAsString(entry.getValue()))
.tag(String.valueOf(entry.getKey()))
);
}
appMeteredQueue.add(taskOptions);
但是,不幸的是, .add() method
引发了异常:
java.lang.IllegalArgumentException: Only PULL tasks can have a tag.
at com.google.appengine.api.taskqueue.QueueImpl.fillAddRequest(QueueImpl.java:335)
您能指出我在做什么错吗?
queue.xml
是不够的。
您应该在组装TaskOptions
的阶段将.withMethod(TaskOptions.Method.PULL)
添加到TaskOptions.Builder
TaskOptions
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.