我正在使用1.7.6中发布的Java App Engine的实验性功能来执行异步任务队列操作。
此处的文档位于:https://developers.google.com/appengine/docs/java/taskqueue/overview#asynchronous-operations
我的问题是,在执行TaskQueue.addAsync()时,是否必须在返回的未来调用get(),或者几乎可以保证addAsync()会像add()一样将任务添加到队列中?
例如,如果传入的HTTP请求执行一个或多个任务的addAsync()并且请求完成且我从不调用get(),会发生什么?有关这方面的任何信息都会有所帮助。
由于
答案 0 :(得分:2)
documentation表示您确实应该致电get()
:
在事务中异步添加任务时,应在提交事务之前调用Future上的
get()
以确保请求已完成。
如果您不在交易中执行此操作,是否也应该这样做尚不清楚,但无论如何这可能都是个好主意。