gpt4 book ai didi

scala - Akka:向持久邮箱添加延迟

转载 作者:行者123 更新时间:2023-12-03 17:54:12 25 4
gpt4 key购买 nike

我想知道是否有某种方法可以延迟处理 akka 消息?

我的用例:对于我的每个请求,我都有少量工作需要完成,然后我需要在两个小时后进行额外的工作。

有什么简单的方法可以延迟 AKKA 中的消息处理吗?我知道我可能可以设置一个外部分布式队列,例如 ActiveMQ、RabbitMQ,它们可能具有此功能,但我宁愿没有。

我知道我需要使邮箱持久耐用,以便它可以在重新启动或崩溃时幸存下来。我们已经有了 mongo 设置,所以我可能正在使用 MongoBasedMailbox为了耐用。

最佳答案

Temporal Workflow能够以最少的努力支持您的用例。您可以将其视为 Durable Actor 平台。当包括线程和局部变量在内的参与者状态在进程重新启动时保留。
Temporal 为任务处理提供了许多其他功能。

  • 构建了无限到期间隔的指数重试
  • 故障处理。例如,如果在配置的时间间隔内两个更新都无法成功,它允许执行通知另一个服务的任务。
  • 支持长时间运行的心跳操作
  • 能够实现复杂的任务依赖关系。例如,在不可恢复的故障( SAGA )
  • 的情况下实现调用链或补偿逻辑
  • 提供对更新当前状态的完整可见性。例如,当使用队列时,您知道队列中是否有一些消息,并且您需要额外的数据库来跟踪整体进度。使用 Temporal 记录每个事件。
  • 能够取消飞行中的更新。
  • 请求限制

  • the presentation这超越了时间编程模型。它谈到了 Temporal 的前身 Cadence。

    关于scala - Akka:向持久邮箱添加延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14129579/

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