【问题标题】:need some kind of job scheduler or delayed message queue in a java world在 Java 世界中需要某种作业调度程序或延迟消息队列
【发布时间】:2019-03-22 19:08:47
【问题描述】:

我需要在未来执行一个流程,比如说 20 分钟,基于某些事件的发生,但我可能需要根据不同的因素取消该计划的流程。或者,我可能需要在工作中重新启动计时器,这取决于另一个事件......等等。你明白了。这一切的不同排列。有谁知道满足这种需求的好技术?也许是石英(石英很烂吗?它会做所有这些事情吗?),也许是 activemq,也许是其他一些作业调度技术? 谢谢! -罗恩

【问题讨论】:

    标签: activemq quartz-scheduler message-queue scheduler job-scheduling


    【解决方案1】:

    ActiveMQ 的调度器非常适合这种情况。模式可以是这样的:

    1. 启动一个进程(获取一些标识符)
    2. 向 ActiveMQ 调度程序发送消息以在 x 时间段内触发
    3. 消息消费者收到定时器消息,拉取标识符查看状态
    4. 如果过程完成.. 继续并完成
    5. 如果进程需要更多等待时间,发送另一个定时器消息到 ActiveMQ

    一切都是异步的,所需的代码非常少。使用 ActiveMQ 的一大优势是您可以让多个消费者监听预定消息以提供高可用性。

    【讨论】:

      猜你喜欢
      • 2011-02-11
      • 1970-01-01
      • 2014-06-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-02
      • 2015-11-06
      相关资源
      最近更新 更多