gpt4 book ai didi

java - 合并在 GAE (Java) 推送队列上运行的任务的结果

转载 作者:行者123 更新时间:2023-11-30 04:02:09 32 4
gpt4 key购买 nike

我想将任务放入我的 GAE java 应用程序中的推送队列中,以审核用户的状态,每个任务 1 个用户。我正在努力寻找一个好的解决方案,以安全、高效的方式跟踪和整合每项任务的审计结果。

目前我所做的是使用一项延迟任务,该任务在其构造函数中具有一个参数:代表我要审核的用户的实体键的字符串表示形式。

我需要为每个用户保留的数据类型是是/否,例如他们是否处于 Activity 状态、他们与其他服务的连接是否被撤销/未撤销等。当我合并时,我要做的就是将所有数据相加每个问题的是和否,例如我有 1000 个活跃用户和 200 个非活跃用户等。

我考虑过的方法(请原谅我的天真......)是:

  • 每个任务都有自己的实体,然后我会检查该实体以合并所有任务的结果
    • 优点:线程安全且在分布式环境中安全
    • 缺点:成本相对较高(即因为我必须写入很多行,然后删除它们),而且很麻烦,因为我必须对实体进行后处理以合并每行的数据<
  • 我可以在每个延迟任务中获取某个单例类的实例,并使用它来保存和合并数据,然后使其稍后保留其数据
    • 优点:便宜(不必写入/删除额外的数据),整洁,因为单个对象可以完成所有工作,可以使线程安全
    • 缺点:在 GAE 上,我不能(很容易?)依赖单例,因为它是分布式的,所以在实践中,我最终可能会将数据合并到两个或多个类似的“单例”对象中
  • 我怀疑我可以将数据写入某些预定义的上下文对象(Servlet 上下文?)或内存缓存中?
    • 优点:便宜、快速、可能简单?
    • 缺点:内存缓存数据可能会被覆盖 - 这不安全;不确定 servlet 上下文

底线是所有这些都是我编造的方法,我确信一定有一个标准的方法/模式来做这种类型的事情......但我还没有找到它。

请问有什么建议吗...?谢谢!

最佳答案

关于java - 合并在 GAE (Java) 推送队列上运行的任务的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21720439/

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