2012-12-19 45 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)