【问题标题】:What framework to use for advanced job scheduling in Java?在 Java 中用于高级作业调度的框架是什么?
【发布时间】:2012-01-16 02:41:44
【问题描述】:

在我的应用程序中,我需要定期运行后台任务(我可以使用 Quartz 轻松完成 - 即安排给定作业在特定时间定期运行)。

但我希望有更多的控制权。特别是我需要:

  1. 让系统重新运行未在其预定时间运行的任务(即服务器已关闭,因此该任务未运行。在这种情况下,我希望尽快运行“延迟”任务)
  2. 轻松控制任务会很好 - 即按需运行任务或查看给定任务上次运行的时间或重新安排给定任务在不同时间运行

在我看来,上述几点可以通过 Spring Batch Admin 实现,但我在这方面还没有太多经验。另外,我看到很多关于 Spring Batch 不是调度工具的帖子,所以我开始怀疑这里的工作是什么合适的工具。

所以我的问题是:以上可以用 Spring Batch Admin 实现吗?或者也许 Quartz 就足够了,但需要配置来执行上述操作?或者也许我两者都需要?还是别的什么?

非常感谢 :) 彼得

【问题讨论】:

    标签: java scheduling quartz-scheduler spring-batch-admin


    【解决方案1】:

    让系统重新运行未在预定时间运行的任务

    Quartz 中的此功能称为Misfire Instructions,它完全可以满足您的需求 - 但更加灵活。您只需定义JDBCJobStore

    轻松控制任务会很好 - 即按需运行任务或查看给定任务的上次运行时间或重新安排给定任务以在不同时间运行

    您可以使用 Quartz JMX 访问各种信息(如上一个和下一个运行时间)或直接查询 Quartz 数据库表。也有基于上述输入的免费和商业管理工具。我相信你也可以在那里手动运行作业。

    Spring Batch 可以与 Quartz 集成,但不能替换它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-22
      • 1970-01-01
      • 1970-01-01
      • 2011-09-08
      • 2015-03-10
      • 1970-01-01
      • 2011-03-29
      • 1970-01-01
      相关资源
      最近更新 更多