处理Google App Engine任务队列中的请求

时间:2014-08-04 11:02:59

标签: java google-app-engine google-cloud-datastore task-queue

我们正在构建分析工具,用于从网站和移动应用收集事件。我们希望使用Google App引擎中的任务队列处理请求。当我在Google Developers网站上推荐文档时

 Queue queue = QueueFactory.getDefaultQueue();
 queue.add(withUrl("/analytics").param("id", String.valueOf(id)));

它可以选择只提供参数。但是,如何将整个HTTP请求传递给任务队列并处理它们?

1 个答案:

答案 0 :(得分:1)

我认为这里的主要问题是如何将请求主体的所有请求参数传递给任务。

不幸的是,没有简单的“中继”或“重定向”方法将您的请求移动到任务队列(但它会很好)。您必须使用Queue.add(TaskOptions taskOptions)方法添加任务。

实例化TaskOptions对象的推荐方法是静态导入TaskOptions.Builder.*并调用静态创建方法,然后调用实例mutator(如果需要)。

使用以下其中一种(或任何其他payload()方法):

TaskOptions.payload(byte[] payload);
TaskOptions.payload(byte[] payload, String contentType);
TaskOptions.payload(String payload);

设置请求的内容。您可以从request.getInputStream()

中读取有效负载

请求参数(如果它们是URL的一部分而不是表单POST的结果),您必须手动复制每个参数,例如: TaskOptions.param(String name, String value)