【问题标题】:How to schedule crontrigger to run on certain days of the week?如何安排 crontrigger 在一周中的某些日子运行?
【发布时间】:2020-02-10 23:30:43
【问题描述】:

我有工作要在周六和周日执行,但不是在工作日。我是这样安排的:

myTriggerBuilder.withSchedule(cronSchedule("0 0 0 * * ?")).build();

这将在每天的服务器时间 00:00:00 运行。但是,我想让它只在周六和周日工作,但是,在美国日历中,周六是一周的结束,周日是一周的开始。我一直在搜索docs 的示例或描述,它解释了如何指定一周中的某些天而不是时间间隔,但文档要么不提供该信息,要么我错过了它。我试过这样:

myTriggerBuilder.withSchedule(cronSchedule("0 0 0 * * SAT,SUN")).build();

然而,整个事情都崩溃了:

java.lang.RuntimeException: CronExpression '0 0 0 * * SAT,SUN' 是 无效。

有没有办法表达我想要的,即告诉调度程序我打算在一周中的哪几天运行作业?

【问题讨论】:

    标签: java cron schedule crontrigger


    【解决方案1】:

    你可以试试这样的表达方式(例如你想从周日 8:05 开始 0 表示周日,6 表示周六)

    5 8 * * 0,6
    

    您可以查看此链接

    https://crontab.guru/every-weekend

    【讨论】:

      【解决方案2】:

      你能试试这个吗?

      0 0 0 ? * SUN,SAT *
      

      参考:This

      【讨论】:

      • 谢谢,会试试的。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-08-29
      • 2014-10-22
      • 2020-12-07
      • 1970-01-01
      • 1970-01-01
      • 2019-02-14
      • 1970-01-01
      相关资源
      最近更新 更多