我正在寻找一种解决方案来使用RabbitMQ来安排消息,这样不仅可以像几个来源中描述的那样延迟消息,而且可以计划它有一条消息,例如每天。
如果不是RabbitMQ,那么对于使用消息总线的微服务环境,您还能想到什么其他的解决方案吗?因此,它实际上是关于将任务调度器和消息总线的概念结合起来……
或者,使用作业调度程序只是为了将消息推送到消息队列,例如结合使用rundeck和RabbitMQ,会更好吗?
发布于 2016-11-27 10:30:29
还是使用作业调度程序将消息推送到消息队列更好,例如结合使用
和RabbitMQ?
是。
RabbitMQ不是为处理调度而设计的,尝试使用它来处理调度将是痛苦的(充其量)。
最好使用另一种调度系统,比如cron job或rundeck,或者任何其他可用的调度工具。通过该工具,您可以执行跨RabbitMQ推送消息的代码,从而触发系统其他部分的工作。
发布于 2021-04-20 11:03:30
你可以试试ActiveMQ,它支持crontab计划,它还提供了一个web控制台来设置计划。如果你想从代码中调度,它可能看起来像这样:
MessageProducer producer = session.createProducer(destination);
TextMessage message = session.createTextMessage("test msg");
message.setStringProperty(ScheduledMessage.AMQ_SCHEDULED_CRON, "0 * * * *");
producer.send(message);
https://stackoverflow.com/questions/40807355
复制相似问题