石英调度程序中每30秒的cron表达式?

Posted

技术标签:

【中文标题】石英调度程序中每30秒的cron表达式?【英文标题】:cron expression for every 30 seconds in quartz scheduler? 【发布时间】:2016-05-14 20:09:28 【问题描述】:

我正在使用 Quartz Scheduler 来运行我的作业。我想每三十秒运行一次我的工作。我的 cron 表达式会是什么?

每隔一分钟,我使用下面的 cron 表达式:

<cron-expression>0 0/1 * 1/1 * ? *</cron-expression>

每三十秒会是什么?

【问题讨论】:

【参考方案1】:

第一个元素代表秒;要在第 0 秒和第 30 秒运行,请使用以下命令:

<cron-expression>0/30 0/1 * 1/1 * ? *</cron-expression>

【讨论】:

谢谢伊恩。还有一件事,每 15 分钟运行一次的 cron 表达式是什么,但它第一次应该立即运行?然后每15分钟一次?这看起来对吗0 0/15 * 1/1 * ? * 这是每 15 分钟正确的 cron 表达式。 Cron 是一个刚性结构,与您所要求的不太相符(现在,现在 + 15 分钟等)。该 cron 将在 0、15、30、45 分钟运行 .. 也许你需要触发器,而不是 cron【参考方案2】:

我希望这个答案对你有所帮助。请在下面定义 cron 表达式

 0/30 * * * * ? *

然后你去这个网站测试Cron Expression Generator & Explainer - Quartz。

【讨论】:

【参考方案3】:

使用更简单的构造我们可以达到相同的效果(石英弹簧):

0/30 * * * * ? *

我们可以省略的最后一个星号。

0/30 * * * * ?

Quartz scheduler cron trigger documentation 2.x

【讨论】:

【参考方案4】:

如果你使用的是Spring框架,使用@PostConstruct注解然后@Scheduled(cron=0 0/15 * 1/1 * ?)触发now,now+15min等等。

【讨论】:

以上是关于石英调度程序中每30秒的cron表达式?的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 调度程序自定义 Cron 表达式不起作用

从数据库关闭石英作业调度

使用 cron 时的 MySQL 性能差异

cron 作业或 PHP 调度程序

Cron Expression (Quartz) 用于每个午夜 12 点运行的程序

Spring中任务调度cronExpression配置说明