【问题标题】:Scheduling a job to run every Nth week and specific week days starting on specific date with Quartz (Scala)使用 Quartz (Scala) 从特定日期开始安排作业在第 N 周和特定工作日运行
【发布时间】:2016-11-14 07:15:35
【问题描述】:

继续: What is the most reliable way to schedule a job with cron scheduler is Quartz that repeats every N days starting from a specific date & Absolutely unexplainable results for cron based scheduler in Quartz

关于使用石英进行调度的可能性还有另一个问题。以及上述两者和这个之间的区别,以及我试图在目标期间(例如,每 4 周的周一、周五)执行多个工作的事实

假设用户需要从特定日期开始每 4 周的周三和周五执行一次任务。

当然,我可以设置一个如下所示的 cron 调度程序:

0 0 12 ? 1/4 周三、周五 *

但是我们遇到了与链接帖子中描述的相同的问题。这个 cron 表达式的真正含义是,在每月第 4 周的周三和周五执行作业。

另一种选择是使用日历间隔计划生成器(只要一周中只有一天需要考虑,就可以完美解决问题);但是,它不允许指定星期几,而只是根据开始日期计算真正的 4 周时间。

如果可能,如何使用 Quartz 安排一个作业,该作业将在一周中的多于一天每 4 周(或任何第 N 周)执行一次?是否有可能在没有多个触发器的情况下实现它?

谢谢,

【问题讨论】:

  • 编写一个在您的开始日期运行的作业。该作业创建(或仅启用)计划为 0 0 12 ? 1/4 WED,FRI * 的作业
  • 嗯,这个问题实际上是由石英本身解决的,问题是(如原始问题中所述)它会在每个月的第 4 周执行一次作业,而不是每 4 周执行一次,不管一个月.
  • 啊,明白了(在无聊的电话会议中做路过的 cmets)
  • 我认为这个问题的答案可能是相关的? stackoverflow.com/questions/21633029/…
  • 对,这个会有所帮助,但在这种情况下,我不得不创建多个触发器以适应每周运行两次以上的案例。我想知道是否可以使用单个触发器来实现相同的目标

标签: scala cron quartz-scheduler


【解决方案1】:

因此,经过长时间的研究,似乎使用现有 Quartz 工具解决此问题的唯一方法是使用多个触发器(每个工作日一个)来管理这种类型的调度。 希望这对某人有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-25
    • 2016-06-12
    • 2013-10-03
    • 2012-03-30
    • 2019-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多