你好,我在工作时用 quartz 意识到了一些事情。假设一个 cron 设置为每 2 分钟唤醒一次,表达式为 0 0/2 * * *
? .
当您在 13:10:30 运行项目时,第一个 Action 在 13:12:00 发生,第二个在 13:14:00 发生,其余每 2 分 0 秒发生一次。显然,从项目启动到操作第一次发生之间只有 1 分钟 30 秒。
有没有办法让第一次出现的时候不管项目是从哪几秒开始的,都遵守 2 分钟?
最佳答案
Cron 作业在 Quartz 中使用 CronTrigger
类进行配置。另一种方法是使用 SimpleTrigger
,您可以使用固定的延迟间隔来构造它。 SimpleTrigger
有多种构造函数,允许您指定开始时间、结束时间、重复次数、重复间隔等。
话虽如此,我建议不要将 Quartz 用于此类调度,而应使用 java.util.concurrent.Executors.newScheduledThreadPool()
。在简单的重复任务方面,它比 Quartz 容易得多。
关于java - quartz 作业运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1686666/