Выражение Cron для запуска только в понедельник

Я использую кварцевые выражения для создания триггера, который должен выполняться только по понедельникам, а 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-й день месяца - понедельник, вышеуказанное выражение не должно быть выполнено, но для других понедельников месяца оно должно быть выполнено.

3
задан 13 August 2018 в 15:28

1 ответ

В качестве поддержки для указания как дня недели, так и параметра дня месяца не используется, вы можете попробовать:

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

Вы также можете поддерживать для указав как день недели И параметр дня дня не реализован, и генерирует кукурузу для кварца здесь.

0
ответ дан 15 August 2018 в 17:01
  • 1
    Спасибо за ответ. Я на самом деле думал об этом, но я хотел выразить кварцевое выражение. – Suman 14 August 2018 в 07:52

Другие вопросы по тегам:

Похожие вопросы: