更新ListProperty时是否可以在App Engine中具有竞争条件?

时间:2012-12-19 19:22:04

标签: python google-app-engine concurrency

假设我的模型User的属性bands类型为StringListProperty。在请求处理程序中,我正在扩展/附加到bands列表,并且我还为taskqueue创建了许多任务,其处理程序也将附加到bands列表。是否有竞争条件?

1 个答案:

答案 0 :(得分:6)

如果已成功提交相应的数据存储区事务,则可以使用Tasks within Transaction确保您的任务仅排队。

在事务中添加任务时,只需添加transactional=True关键字arg:

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