python - 更新 ListProperty 时是否可能在 App Engine 出现竞争条件?

标签 python google-app-engine concurrency

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

最佳答案

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

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

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

关于python - 更新 ListProperty 时是否可能在 App Engine 出现竞争条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13959606/

相关文章:

google-app-engine - golang appengine api测试错误 "appengine: NewContext passed an unknown http.Request"

java - 如何同时启动3个不同的java程序

Java的ExecutorService性能

当 rootfs 为只读且/tmp 为 noexec 时,Python ctypes 段错误

python - Cython .pyx 中定义的函数成为内置函数?

python - 如何从信号中获取频率?

go - 无法从 goroutine 中的 channel 读取

python设置元素序列

java - Cloud Endpoints 为作为命名参数传递的特殊字符生成 HTTP 404

python - 导入错误 : No module named flask on google app engine