Кварцевый триггер CRON не срабатывает, как ожидается - PullRequest
1 голос
/ 11 февраля 2010

У меня есть простой кварцевый триггер, работающий в Spring 2.5.6-SEC01.

Определение триггера выглядит так:

<bean id="AdvicesCronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
    <property name="jobDetail" ref="AdvicesQuartzJob"/>
    <property name="cronExpression" value="0 20/15 * * * ?"/>
</bean>

Это моя фабрика планировщиков:

<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
    <property name="triggers">
        <list>
        <ref bean="AdvicesCronTrigger"/>
        </list>
    </property>
</bean>

Я прочитал эту документацию о запуске триггеров CRON из Кварца. Это выдержка:

CronTrigger Пример 1 - выражение создать триггер, который просто срабатывает каждые 5 минут

"0 0/5 * * *?"

Сегодня я запустил свою программу в 9:40. Это мой вывод выполнения:

Редактировать: Бобби прав в своей оценке. Я обновил свой журнал выполнения:

2010-02-11 09: 50: 00 000 ИНФОРМАЦИЯ - СТАРТ

2010-02-11 10: 20: 00,000 INFO - START

2010-02-11 10: 35: 00,000 INFO - START

2010-02-11 10: 50: 00,000 INFO - START

2010-02-11 11: 20: 00 000 ИНФОРМАЦИЯ - СТАРТ

2010-02-11 11: 35: 00,000 INFO - START

Я ожидал, что этот триггер сработает на

9: 50

10: 05

10: 20

10: 35

...

Как это сделать? Какое выражение CRON используется?

Ответы [ 2 ]

2 голосов
/ 11 февраля 2010

Часть 20/15 выражения cron означает каждые 15 минут после 20-й минуты часа. Это означает, что он всегда начнется на 20-й минуте.

Я никогда не проверял его, но, возможно, выражение, подобное этому, будет тем, что вы ищете:
0 */15 * * * ?

1 голос
/ 11 февраля 2010

Не для того, чтобы дать вам не связанный ответ, но иногда имеет смысл использовать некоторые услуги вместо того, чтобы пытаться сделать это самостоятельно :) Взгляните на http://www.cronservice.co.uk/new/, http://scheduler.codeeffects.com, или http://www.webbasedcron.com/

...