2012-12-19 68 views
3

比方說,我有一個型號User,其型號爲StringListProperty,屬性bands。在請求處理程序中,我正在擴展/追加到bands列表,並且還爲taskqueue創建了大量任務,其處理程序也將附加到bands列表中。是否有可能存在競爭條件?更新ListProperty時可能在App Engine上有競爭條件嗎?

+0

你節省'User'到數據存儲,然後閱讀它在任務隊列:

一個事務中添加任務時,只需添加transactional=True關鍵字ARG? –

+0

是的,這是可能的。您需要讀取/修改/寫入交易中的實體。 – dragonx

回答

6

如果已成功提交相應的數據存儲區事務,則可以使用Tasks within Transaction確保您的任務僅被排隊。

taskqueue.add(url='/path/to/my/worker', transactional=True)