【问题标题】:Cron expression to run only on Monday仅在星期一运行的 Cron 表达式
【发布时间】:2019-01-20 04:05:33
【问题描述】:

我正在使用quartz expressions 创建一个仅应在星期一执行的触发器,而day of month 不应为1

我已经知道0 5 0 2-31 * MON 表达式不起作用,因为Specifying both a day-of-week and a day-of-month parameter is not implemented。这个问题有什么解决方法吗?我怎样才能做到这一点?

总而言之,如果一个月的第 1 天是星期一,则不应执行上述表达式,但对于该月的其他星期一,则应执行。

【问题讨论】:

    标签: spring-boot cron quartz-scheduler quartz crontrigger


    【解决方案1】:

    由于没有实现同时指定星期几和月份参数的支持,您可以试试这个:

    @Scheduled(cron = "0 5 0 ? * MON")
    private void doTask(){
        if(LocalDate.now().getDayOfMonth() != 1){
            //your code here
        }
    }
    

    您还可以检查生成玉米以获取石英here

    【讨论】:

    • 感谢您的回答。我实际上是这么想的,但我想让石英表达式做到这一点。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-20
    • 1970-01-01
    • 2014-08-15
    • 1970-01-01
    • 2023-02-09
    相关资源
    最近更新 更多