处理Google应用引擎任务队列中的请求



我们正在构建从网站和移动应用程序收集事件的分析工具。我们要处理的请求与任务队列在谷歌应用程序引擎。当我参考文档在谷歌开发人员网站

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

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

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

不幸的是,没有简单的"中继"或"重定向"方法来移动您的请求到任务队列(但它会很好)。您必须使用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) .

最新更新