java Quartz Scheduler cron 表达式每隔 30 分钟后一刻钟
Posted
技术标签:
【中文标题】java Quartz Scheduler cron 表达式每隔 30 分钟后一刻钟【英文标题】:java Quartz Scheduler cron expression for every after 30 minutes quarter past the hours 【发布时间】:2016-10-08 08:34:30 【问题描述】:我知道如何通过使用以下 cron 表达式每 30 分钟运行一次作业:
0 0/30 * * * ?
它每 30 分钟运行一次作业,例如 ::
10:30, 11, 11:30, 12.
我想让它每隔 30 分钟后运行一次,例如::
10:15, 10:45, 11:15, 11:45.
如上所述,如何让它在每 30 分钟后运行一次?
更新 :: 我看到了那个链接。给定链接中所述的解决方案不起作用。它在一刻钟开始 cron 作业,但它每分钟都在运行,例如 15:15:00、15:15:01、15:15:02 .....
谢谢
【问题讨论】:
您是否需要作业在特定时间开始/结束/仅在特定日期运行等? 不是在任何特定时间/日期...就像我提到的..所有天..只想像 10:45、11:15 一样运行它...... . 而不是 10:30, 11. Run Cron job every N minutes plus offset的可能重复 【参考方案1】:只需给它一个分钟值15,45
如
0 15,45 * * * ? *
参见 www.cronmaker.com
【讨论】:
谢谢,但它给出 RunTimeException 为:线程“main”中的异常 java.lang.RuntimeException: CronExpression '* 15,45 * * * * ?'无效。 更新了答案 它在 15:15:00、15:15:01、15:15:02 等每一分钟开始运行 cron 作业...... 怎么可能,第一个column
是0
秒。【参考方案2】:
试试这个,15表示开始时间:
0 15/30 * * * ?
【讨论】:
它在 15:15:00、15:15:01、15:15:02 等每一分钟开始运行 cron 作业...... 【参考方案3】:已经提供的答案的另一个变体是:
0 15-45/30 * * * ?
当使用CronMaker 进行测试时,我得到了以下结果(注意不同的开始时间):
由于您在使用其他 cron 表达式时遇到了一些问题,所以我用上面的方法安排了一个作业,它一直运行良好
【讨论】:
以上是关于java Quartz Scheduler cron 表达式每隔 30 分钟后一刻钟的主要内容,如果未能解决你的问题,请参考以下文章
java Quartz Scheduler cron 表达式每隔 30 分钟后一刻钟
执行quartz报错java.lang.NoClassDefFoundError: javax/transaction/UserTransaction