gpt4 book ai didi

java - 使用队列为每个现有实体创建单个实体会导致许多重复

转载 作者:行者123 更新时间:2023-12-01 13:40:17 24 4
gpt4 key购买 nike

我在常见情况下使用 GAE 任务队列,即为每个 User 实体创建一个实体,在每个任务(基于 URL)中,我做了:

  1. 每次具有固定数量的 User 实体的迭代器(例如 500)。
  2. 为每个用户创建一个实体并批量保存(异步)。
  3. 将下一个任务放入队列,并以结束光标作为下一次迭代的开始,直到没有用户进行迭代。

这看起来工作不错,但我发现那里有很多重复的实体,比如说,我有 10k 个用户,但结果发现创建了 20k+ 个其他实体。

我的问题是为什么有这么多重复的实体以及有什么方法可以防止吗?

谢谢

最佳答案

如果能给出代码就更容易解决了。然而,明显的原因可能是任务由于某种原因失败(可能是内存错误或类似的原因)。因此,您可以做的是在您的用户模型中添加一个标志,表明已为此特定用户创建了一个实体,或者您可以在创建新实体之前检查是否存在用于此用途的实体。这样,即使您的任务失败,也不会再次为该用户创建实体。

关于java - 使用队列为每个现有实体创建单个实体会导致许多重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20870750/

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