2013-05-02 44 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

相關問題