读取实体组会引发争用?

时间:2012-12-16 19:10:28

标签: google-app-engine transactions datastore

我的应用程序中有一个函数在事务中执行某些处理 - 根据实体组中其他人的属性创建或创建实体。

我一直在进行一些测试,看到这个函数快速连续调用,在这些测试中每秒几次都可以。

该函数触发一些从实体组读取但不写入实体组的延迟任务。

我注意到一些有趣的事情 - 当这些任务立即被触发,并且与主函数调用交错时,我经常会出现争用错误。

如果我对延期任务进行了几秒钟的倒计时,主要功能就会成功处理。

这告诉我,延迟的任务导致主函数写入的实体组的争用 - 但我认为从实体组读取不能这样做?按键名查找引起争用吗?使用过滤器进行查询?

这让我很困惑。这应该发生吗?我在别处读到每个实体组每秒写入限制为1次,但我的测试通常会打破这个限制...至少当我的衍生延期任务被延迟几秒钟时。

顺便说一句,这是正在制作中。

感谢您的任何见解!

0 个答案:

没有答案