与Google App Engine异步执行任务

时间:2014-09-08 20:55:07

标签: java google-app-engine

我对谷歌应用引擎中的推送队列感到非常困惑。

我想做的就是异步运行。我在这里阅读了文档:https://developers.google.com/appengine/docs/java/taskqueue/overview-push

但是我的代码提出了404错误,因为它调用的_ah/queue/default并不存在。

所以这里是我的一些代码:

class Notification implements DeferredTask, Serializable  {
    public void run() {/*do something asynchronously here*/}
}

//elsewhere....
DeferredTask notification = new Notification();
Queue queue = QueueFactory.getDefaultQueue();//getQueue("default");
TaskOptions task = TaskOptions.Builder.withPayload(notification );
queue.add(task);

我现在需要设置一个servlet吗?如果是,是否应该映射到/_ah/queue/default/queue/default/default?然后,我是否反序列化请求输入流以重新构建Notification对象,然后只调用run方法?似乎是一种非常复杂的做法。

它确实在文档中说明了#34;您可以立即使用此队列而无需任何其他配置。"但是,如果我需要开始搞乱使用web.xml,这似乎并不合适。

UPDATE 我不确定使用DeferredTask是否正确。我在管理面板中看到队列中有大量任务,但由于404错误,它们每次运行都会失败。

0 个答案:

没有答案