2013-05-02 43 views
1

我正在使用在1.7.6中发布的Java App Engine的一项实验性功能,该功能执行异步任务队列操作。我是否必须在由TaskQueue的addAsync()返回的将来调用get()?

该文档是在这里:https://developers.google.com/appengine/docs/java/taskqueue/overview#asynchronous-operations

我的问题是,我必须打电话做TaskQueue.addAsync()时,你得到()的返回未来,或者是它几乎保证addAsync()会像add()一样将任务添加到队列中?

例如,如果传入的HTTP请求执行一个或多个任务的addAsync()并且请求完成并且我从不调用get(),会发生什么?任何关于此的信息都会有所帮助。

感谢

回答

2

documentation说,你确实应该叫get()

当一个事务异步添加任务,你应该在未来调用get()提交事务之前,确保请求有完了。

不清楚你是否也应该这样做,如果你不在交易中这样做,反正它可能是个好主意。

+1

如果您必须调用'get()',那么使用'addAsync(...)'有什么意义?你可以使用'add(...)'。也就是说,我想你可以用'addAsync(...)'排队一堆东西,然后等待它们全部完成。 – 2016-08-24 08:53:31

相关问题