Quartz CRON gatilho não disparado quando esperado
-
19-09-2019 - |
Pergunta
Eu tenho um gatilho de quartzo simples em execução na Primavera 2.5.6-SEC01.
gatilho definição esta aparência:
<bean id="AdvicesCronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="AdvicesQuartzJob"/>
<property name="cronExpression" value="0 20/15 * * * ?"/>
</bean>
Esta é a minha fábrica planejador:
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="AdvicesCronTrigger"/>
</list>
</property>
</bean>
Eu li esta documentação sobre disparar gatilhos cron de Quartzo. Este é um trecho:
CronTrigger Exemplo 1 - uma expressão para criar um gatilho que simplesmente incêndios a cada 5 minutos
"0 0/5 * * *?"
Hoje eu disparei meu programa às 9:40. Esta é a minha saída de execução:
Editar: Bobby está certo em sua apreciação. Eu updatted meu log de execução:
2010-02-11 09: 50: 00,000 INFO - INÍCIO
2010-02-11 10: 20: 00,000 INFO - INÍCIO
2010-02-11 10: 35: 00,000 INFO - INÍCIO
2010-02-11 10: 50: 00,000 INFO - INÍCIO
2010-02-11 11: 20: 00,000 INFO - INÍCIO
2010-02-11 11: 35: 00,000 INFO - INÍCIO
eu esperava que este gatilho será acionado em
09:50
10:05
10:20
10:35
...
Como conseguir isso? Que CRON uso expressão?
Solução
A parte 20/15
da expressão cron significa a cada 15 minutos após o minuto 20'th do horas. Isso significa que ele sempre terá início no minuto 20'th.
Eu nunca testei mas talvez uma expressão como esta seria o que você está procurando:
0 */15 * * * ?
Outras dicas
Não dar-lhe uma resposta não-relacionada, mas às vezes faz sentido usar alguns serviços em vez de tentar fazê-lo sozinho :) Dê uma olhada em http://www.cronservice.co.uk/new/ , http://scheduler.codeeffects.com , ou http://www.webbasedcron.com /