crontab - запустить работу 4-й рабочий день месяца - PullRequest
0 голосов
/ 08 марта 2019

Я ищу, чтобы настроить расписание @Schedule с весны / крон. Моя запланированная работа должна выполняться на

4th weekday of every month at 19:00 hours. 

К сожалению, я не видел ни одного примера, где вы могли бы добиться этого в одной строчке cron с примером W на Day of month

День недели (Ш)

Символ W разрешен для поля дня месяца. Этот символ используется для указания дня недели (понедельник-пятница), ближайшего к данному дню. Например, если вы задаете 15W в качестве значения для дня поля месяца, значение будет ближайшим днем ​​недели к 15 числам месяца. Итак, если 15-е число - суббота, триггер срабатывает в пятницу 14-го. Если 15-е воскресенье, триггер срабатывает в понедельник 16-го. Однако если в качестве значения дня месяца указать 1W, а 1-е - суббота, триггер сработает в понедельник 3-го, так как он не пересекает границу дней месяца.

Возможно ли указанное выше расписание с W в crontab?

Я получаю эту ошибку:

java.lang.NumberFormatException: For input string: "6W"
        at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48) ~[na:1.6.0_45]
        at java.lang.Integer.parseInt(Integer.java:458) ~[na:1.6.0_45]
        at java.lang.Integer.valueOf(Integer.java:554) ~[na:1.6.0_45]
        at org.springframework.scheduling.support.CronSequenceGenerator.getRange(CronSequenceGenerator.java:362) ~[spring-context-4.3.3.RELEASE.jar!/:4.3.3.RELEASE]
        at org.springframework.scheduling.support.CronSequenceGenerator.setNumberHits(CronSequenceGenerator.java:329) ~[spring-context-4.3.3.RELEASE.jar!/:4.3.3.RELEASE]
        at org.springframework.scheduling.support.CronSequenceGenerator.setDays(CronSequenceGenerator.java:307) ~[spring-context-4.3.3.RELEASE.jar!/:4.3.3.RELEASE]
        at org.springframework.scheduling.support.CronSequenceGenerator.setDaysOfMonth(CronSequenceGenerator.java:298) ~[spring-context-4.3.3.RELEASE.jar!/:4.3.3.RELEASE]
        at org.springframework.scheduling.support.CronSequenceGenerator.parse(CronSequenceGenerator.java:271) ~[spring-context-4.3.3.RELEASE.jar!/:4.3.3.RELEASE]
        at org.springframework.scheduling.support.CronSequenceGenerator.<init>(CronSequenceGenerator.java:96) ~[spring-context-4.3.3.RELEASE.jar!/:4.3.3.RELEASE]
        at org.springframework.scheduling.support.CronSequenceGenerator.<init>(CronSequenceGenerator.java:83) ~[spring-context-4.3.3.RELEASE.jar!/:4.3.3.RELEASE]
        at org.springframework.scheduling.support.CronTrigger.<init>(CronTrigger.java:44) ~[spring-context-4.3.3.RELEASE.jar!/:4.3.3.RELEASE]
...