首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Akka:在持久邮箱中添加延迟

Akka:在持久邮箱中添加延迟
EN

Stack Overflow用户
提问于 2013-01-02 21:37:14
回答 3查看 1.1K关注 0票数 5

我想知道是否有什么方法来推迟阿克卡消息的处理?

我的用例:对于我的每一个请求,我有少量的工作需要做,然后我需要在两个小时后再做额外的工作。

在AKKA中有什么简单的方法来延迟消息的处理吗?我知道我可能可以设置一个外部的分布式队列,比如ActiveMQ,RabbitMQ,它可能具有这个特性,但我不这么认为。

我知道我需要使邮箱持久,这样它才能在重新启动或崩溃时存活下来。我们已经有芒果设置,所以我可能是使用MongoBasedMailbox的耐用性。

EN

回答 3

Stack Overflow用户

发布于 2019-06-16 01:27:23

时态工作流能够以最小的努力支持您的用例。你可以把它看作是一个持久的演员平台。当参与者状态(包括线程和局部变量)在整个进程中被保留时,重新启动。

Temporal为任务处理提供了许多其他特性。

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

请参阅遍历时态编程模型的介绍。论述了时态的前身--卡丹斯。

票数 1
EN

Stack Overflow用户

发布于 2013-01-02 21:51:06

这并不理想,但阿克卡骆驼石英调度器可以做到这一点。比内置的ActorSystem调度程序更重要,但是知道Quartz有它自己的问题。

票数 0
EN

Stack Overflow用户

发布于 2015-10-16 07:24:53

您仍然可以使用普通的Akka调度程序,您只需在参与者持久性上保持一个状态,以避免在服务器重新启动时松开作业。

我最近使用了PersistentFsmActor --这将使参与者的状态保持不变。

我不确定在您的情况下,您必须使用FSM (有限状态机),所以基本上可以使用persistentActor来节省插入作业的时间,并启动调度程序到那个时间。这样即使您重新启动了服务器,参与者也会启动并创建一个新的计划作业,使用持久数据来计算运行它的剩余时间。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14129579

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档