【问题标题】:Cron expression for running a task immediately then keep running after every 55 minutes用于立即运行任务然后每 55 分钟后继续运行的 Cron 表达式
【发布时间】:2017-08-16 07:42:14
【问题描述】:

我正在写一个spring scheduler,想写一个cron-expression 需求是这样的:

1) Scheduler must run when the application boots up.
2) After booting it job must keep runs after every 55 minutes.

示例:应用程序从上午 9:05 开始调度程序必须在应用程序在上午 9:05 开始时运行,之后调度程序将在上午 10:00 运行,然后在上午 10:55 运行....11:50 am...很快。

谢谢

【问题讨论】:

    标签: cron quartz-scheduler spring-scheduled


    【解决方案1】:

    Cron 表达式不能很好地与固定间隔调度相结合。这部分是因为 Quartz Scheduler 没有实现完整的 cron 语法。

    如果允许,您应该使用SimpleScheduler 及其withIntervalInMinutes 方法。像这样:

    yourTrigger = yourTriggerBuilder
                    .withSchedule(simpleSchedule()
                            .withIntervalInMinutes(55)
                            .repeatForever())
                    .startAt(new Date())
                    .build();
    

    这将安排您的作业在安排后立即运行,然后每 55 分钟运行一次。

    我不熟悉 Spring 调度选项,但我猜它有一个“每 X 秒运行一次”选项,您也可以使用它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-09-03
      • 2023-04-01
      • 1970-01-01
      • 2011-03-27
      • 1970-01-01
      • 1970-01-01
      • 2021-01-17
      相关资源
      最近更新 更多