什么是每X秒触发的相应Cron表达式,其中X> 1。 60?

时间:2010-06-08 09:53:44

标签: java cron quartz-scheduler

我希望我的作业每X秒执行一次,作业和X之间有一对一的匹配。同样在运行时,可以按照自己的间隔注册新的作业。

我曾尝试为这种情况编写cron表达式,但在文档中写道,秒的值不能超过59.所以cron表达式如下:“0/63 * * * *?”无效。

乍一看,这个问题的解决方案似乎是这样的表达:“0/3 0/1 * * *?”,但它意味着完全不同的事情:每分钟每三秒触发一次工作。

你能建议什么是正确的解决方案(cron表达式)吗?我知道我可以使用简单的计时器,但我要使用Quartz来使用cron作业。

1 个答案:

答案 0 :(得分:6)

Quartz cron语法旨在根据标准的24小时60分钟时钟表达时序。它不适合“每n秒”,其中n可以是任何值。你无法用cron表达式做到这一点。

如果您需要使用Quartz执行此操作,则应使用SimpleTrigger,而不是CronTrigger。你真的没有选择,除非你想使用一个非常复杂的重叠,人工推导的cron表达式集合。