首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >什么样的可编程系统能够提供持久的调度?

什么样的可编程系统能够提供持久的调度?
EN

Software Engineering用户
提问于 2014-11-24 22:47:39
回答 1查看 176关注 0票数 0

我想要编写一个在特定时间创建预定事件的应用程序。当延迟过去时,事件会通知应用程序。不能将计划好的事件存储在应用程序的内存中,因为如果应用程序关闭了所有计划好的事件,那么就会丢失--我不想为事件调度编写一个自定义持久层。哪个系统可以为我的应用程序提供持久的调度,以便在每个事件过去时调用我的应用程序?

我一直在查看消息队列和Redis。我对Java解决方案不感兴趣。我找到的最接近的解决方案是RabbitMQ。可以为兔子消息分配一个TTL,并将其放置在一个从未消耗过的队列中。过期的消息会触发DLX消息,可以检查该消息是否由于TTL过期而失败。但是,由于警告,消息不一定会以正确的顺序过期。适用于消息TTL,根据该消息,队列开头的消息将阻止其他消息(可能具有较短的TTL)提前过期。此警告意味着RabbitMQ不适合用于此目的,而且我无法找到任何满足持久调度程序需求的非Java消息代理。

Linux是否存在可编程的持久调度软件?

EN

回答 1

Software Engineering用户

发布于 2014-11-24 23:36:59

Linux是否存在可编程的持久调度?是。

在…命令设计为在将来的指定时间执行一次命令。但请注意。就像Unix的重复事件调度程序cron一样,at在本质上是永远可用的。但它并没有像cron那样受到关注,而且在某些方面,它有着偶尔忘记事件的美誉。

我同意您的选择,不使用消息路由中间件的实时功能。阻塞行为和其他可能的失败模式使得这种方法依赖于许多假设,可能是脆弱的。

如果您的应用程序未来只有少量这样的信令事件,并且它能够承受外部系统可能在指定时间并不总是发出信号的可能性,那么将业务扩展到at可能是有意义的。如果您有大量的未来信号,并且/或需要非常高的保真度/保证交付,请考虑将该功能置于您自己的开发和控制之下。如果您将事件记录存储在标准的、经过验证的持久性管理器(例如RDBMS)中,则"fire事件“逻辑非常简单。

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

https://softwareengineering.stackexchange.com/questions/263703

复制
相关文章

相似问题

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