我想确保关于GAE transaction锁的一件事。在文件中它说:
事务中的所有数据存储区操作都必须对其中的实体进行操作 如果事务是单个组,则为同一实体组 交易,....
因此,当txn运行时,它将仅锁定该单个实体组的每个条目,不会锁定事务中使用的每个模型条目。是不是?
答案 0 :(得分:3)
GAE使用optimistic locking - 这意味着在事务中没有锁定任何内容,而是检查上次更新时间,如果它是在您开始事务之后 - 它将抛出异常(并回滚您的数据)。它在'What Can Be Done In a Transaction'
中描述