gpt4 book ai didi

python - Google App Engine 上顺序插入的事务冲突。为什么?

转载 作者:太空宇宙 更新时间:2023-11-03 11:35:41 24 4
gpt4 key购买 nike

我在 Google App Engine 上插入一组记录。我分批插入它们以避免截止日期异常。

当有大量记录时(例如 1k),我总是收到意想不到的消息:

Transaction collision for entity group with key

datastore_types.Key.from_path(u'GroupModel', u'root', _app=u'streamtomail'). Retrying...

这种情况经常发生。

相反,在本地环境中它可以正常工作。

如果我使用的是顺序流程,而同时没有人在使用该系统,怎么可能会发生事务冲突?

这是我用于批处理的代码:

def deferred_worker():
if next_chunk():
process_chunk()
deferred.defer(deferred_worker)

在 *process_chunk()* 中,我在数据库中执行了 50 次插入操作

最佳答案

冲突发生在键名为“root”的“GroupModel”实体实例上。基于此,我猜您是将所有内容都放在一个实体组中,并将其作为父级。如记录here ,每个具有相同父实体的实体都在同一个实体组中,事​​务被序列化到该实体组中。因此,对该组中任何实体的任何并发更新都可能与任何其他实体发生冲突。

关于python - Google App Engine 上顺序插入的事务冲突。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4007650/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com