Quartz-Scheduler - Tarefa agendada não executada

2 respostas
Thishinoda

Estou utilizando o Quartz-Scheduler para executar tarefas agendadas em uma aplicação, mas estou com uma dúvida.
É o seguinte: suponhamos que tenho um serviço que será executado diariamente às 18h. Por algum motivo o servidor ficou fora das 17h às 19h (só um exemplo). Nesse caso, a tarefa que estava agendada para as 18h não foi executada.
Tem alguma forma de eu verificar, ao startar o servidor, que aquela tarefa das 18h não foi executada e colocá-la pra executar imediatamente? Ou alguma configuração no Quartz que faça esse controle?

Valeu.

2 Respostas

Y

Nao sei se o Quartz tem alguma funcionalidade pra isso. Procure saber se ele consegue de alguma forma persistir informacao entre uma execucao e outra mesmo tendo sido interrompido. Eu não acho que tenha.

Você não pode rodar a tarefa uma vez ao subir o serviço e depois as 18hs? Se for algo que só possa rodar uma vez por dia voce pode rodar ao subir o servico e as 18hs verificar se a tarefa já foi rodada hoje. Se for algo que só pode rodas após as 18hs voce pode subir o servidor, verificar o horario e rodar ou não, e caso não, as 18 ele entrara no agendamento normal.

Nenhuma dessas soluções é possível pra você?

Thishinoda

O horário que eu citei foi apenas um exemplo de uma tarefa que deveria ser executada uma vez por dia.
Pesquisando mais um pouco, encontrei esse post onde o cara fala sobre essa situação. Pelo que parece o Quartz trata isso sim e define essa situação como “misfire”. Dei uma lida por cima mas não tive tempo de testar, depois eu posto aqui de novo falando no que deu.

Criado 27 de outubro de 2012
Ultima resposta 28 de out. de 2012
Respostas 2
Participantes 2