【问题标题】:Quartz | Cron expression not working as expected石英 | Cron 表达式未按预期工作
【发布时间】:2015-05-20 15:24:19
【问题描述】:

我正在尝试构建一个 cron 表达式,该表达式将从给定的每小时范围开始每分钟触发一次。

我的表达是:

0 0/1 12/10-14 * 1-5 ?

我希望这可以正常工作,从上午 12 点到下午 2 点每分钟触发一次。

但是当我启动应用程序时,它只是从 12.01 小时的下一分钟触发,尽管范围或开始分钟是 12.10。

【问题讨论】:

    标签: java cron quartz-scheduler cronexpression


    【解决方案1】:

    你的 cron 表达式有错误。

    0 {start minute}/{every minute} [from hour- to hour] * 1-5 ?
    

    所以答案是

    它将在 12:00 AM - 01:00 AM 开始

    0 4/1 0-1 * 1-5 ?
    

    将于上午 12:00 至下午 2:00 开始

    0 4/1 0-14 * 1-5 ?
    

    每天上午 12:00 - 下午 2:00 开始

    0 4/1 0-14 * * ?
    

    【讨论】:

    • Cron 工作得很好,谢谢。但是当它失火时,为什么它会在下一小时而不是第二天。我还需要指定日期吗?
    • 你能从上面指定你使用的表达式吗?每天尝试 (0 4/1 0-14 * * ?)
    • 我使用的是 0 4/1 0-1 * 1-5 ? .因此,假设我将在下午 1 点启动调度程序,但不是转到第二天上午 12.04,而是转到同一天下午 1.04。
    • 您是否取消了之前所有已安排的工作?可能你已经有工作,但他们不是计划外的。或者试试 (0 4/1 0-1 * * ?)
    • 您好,再次感谢。它现在工作正常,我在定义 cron 表达式时有点搞砸了。
    【解决方案2】:

    链接为您提供 Quartz 玉米表达式 Quarts scheduled expression documentation 表达式应该是这样的

    0 4/1 0-1 * 1-5 ?
    

    从上午 12 点开始,下午 2 点结束 你可以在这个Cornmaker中测试你的玉米表情

    【讨论】:

      【解决方案3】:

      试试这个表达方式

      0 4/1 0-14 * * ?

      它将在凌晨 12:00 后的第 4 分钟开始作业,然后每分钟执行一次,直到下午 2:00

      0 4/1 0-14 * * ?
         |   |  |   |
         |   |  |   |
         |   |  |   |--------till 2:00 pm
         |   |  |---------------------------12:00am
         |   |-------------------------------------------every minute
         |----------------------------------------------------------------Start at 4th Minute

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-11-17
        • 1970-01-01
        • 2013-05-01
        • 1970-01-01
        • 1970-01-01
        • 2014-04-28
        • 2016-01-18
        相关资源
        最近更新 更多