Interface ScheduleService
- All Known Implementing Classes:
ScheduleServiceImpl
public interface ScheduleService
Servico de agendamento de rotinas
- Author:
- Eduardo Frazao
-
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionvoidafterContextRefreshedEvent(ContextRefreshedEvent event) Callback executado apos o refresh do contexto Spring, usado para inicializar/ reconstruir o estado do scheduler na subida da aplicacao.voiddeleteSchedule(String jobId) Exclui uma jobvoidexecuteJob(String job) Executa imediatamente uma tarefa agendada.getJobDataMap(String jobId) Recupera o mapa de dados persistidos do job (osjobParamsinformados na criacao/atualizacao do agendamento).getJobState(String jobId) Obtem o estado de execucao de uma jobgetLastExecutionDate(String jobId) Data da ultima execucaogetNextExecutionDate(String jobId) Data da proxima execucaoObtem informacoes de status em uma unica chamada ao schedulerTriggergetTriggerById(String id) Recupera a trigger do Quartz pelo schedule id (job id).getTriggerInfo(String jobId) Obtem a informacao (TriggerInfo) utilizada para construir o job.booleanisNodeAvaliable(String nodeName) booleanbooleanvoidPausa todas a terefas agendadas no framework.voidPausa uma tarefaintReconstroi todas as jobs ativasintReprocessa todas as tarefas agendadas do sistema, recriando suas triggersvoidrebuildCalendars(Long feriadoId) Atualiza o calendario de feriados de cada trigger afetada pelo feriado passado como parametro.voidRecupera e reprocessa todas as triggers para utilizar o recurso de calendario de feriados do Quartz.voidrebuildSchedule(String jobId) Reprocessa a agenda usando a mesma TriggerInfo usada em sua construcao.voidReconstroi e adiciona no scheduler o calendario geral de feriadosvoidRestaura a execucao de uma jobschedule(TriggerInfo info, Class<? extends Job> jobClass) Cria uma agenda de execucao da job especificaCria uma agenda de execucao da job especificavoidstandBy()voidstart()voidupdateSchedule(String jobId, TriggerInfo info) Atualiza uma rotina de agendamentovoidupdateSchedule(String jobId, TriggerInfo info, boolean keepState) Atualiza uma rotina d agendamentovoidupdateSchedule(String jobId, TriggerInfo info, Class<? extends Job> jobClass) Atualiza uma rotina, atualizando dados da trigger e jobClassvoidupdateSchedule(String jobId, TriggerInfo info, Class<? extends Job> jobClass, Map<String, Object> jobParams) Atualiza uma rotina de agendamento, atualizando todos os valores
-
Field Details
-
NODE_MAP_KEY
- See Also:
-
-
Method Details
-
getTriggerById
Recupera a trigger do Quartz pelo schedule id (job id).- Parameters:
id- schedule id (job id) do agendamento- Returns:
- trigger correspondente, ou
nullse nao encontrada
-
rebuildHolidayTriggers
void rebuildHolidayTriggers()Recupera e reprocessa todas as triggers para utilizar o recurso de calendario de feriados do Quartz. -
rebuildCalendars
Atualiza o calendario de feriados de cada trigger afetada pelo feriado passado como parametro.- Parameters:
feriadoId-
-
rebuildSchedulerHolidays
void rebuildSchedulerHolidays() throws SchedulerExceptionReconstroi e adiciona no scheduler o calendario geral de feriados- Throws:
SchedulerException
-
afterContextRefreshedEvent
void afterContextRefreshedEvent(ContextRefreshedEvent event) Callback executado apos o refresh do contexto Spring, usado para inicializar/ reconstruir o estado do scheduler na subida da aplicacao.- Parameters:
event- evento de refresh do contexto Spring
-
getTriggerInfo
Obtem a informacao (TriggerInfo) utilizada para construir o job.- Parameters:
jobId- id do job- Returns:
- informacoes da trigger do job, ou
nullse nao encontrado
-
schedule
Cria uma agenda de execucao da job especifica- Parameters:
info- Informacoes do agendamentojobClass- - Classe worker- Returns:
- Job ID
- Throws:
JobWillNeverFireException
-
getJobDataMap
Recupera o mapa de dados persistidos do job (osjobParamsinformados na criacao/atualizacao do agendamento).- Parameters:
jobId- id do job- Returns:
- mapa de parametros persistidos do job
-
schedule
String schedule(TriggerInfo info, Class<? extends Job> jobClass, Map<String, Object> jobParams) throws JobWillNeverFireExceptionCria uma agenda de execucao da job especifica- Parameters:
info- Informacoes do agendamentojobClass- - Classe workerjobParams- - Parametros que devem ser persistidos, e sao esperados pela JobClass- Returns:
- Job ID
- Throws:
JobWillNeverFireException
-
rebuildSchedule
Reprocessa a agenda usando a mesma TriggerInfo usada em sua construcao. Pode ser utilizado em casos onde o agendamento ficou com status de erro- Parameters:
jobId-
-
rebuildAllSchedules
int rebuildAllSchedules()Reprocessa todas as tarefas agendadas do sistema, recriando suas triggers- Returns:
-
rebuildAllActiveSchedules
int rebuildAllActiveSchedules()Reconstroi todas as jobs ativas- Returns:
-
updateSchedule
Atualiza uma rotina de agendamento- Parameters:
jobId-info-
-
updateSchedule
Atualiza uma rotina d agendamento- Parameters:
jobId- - Id do Jobinfo- - Informacoes da TriggerkeepState- - Caso a trigger ja exista, se o estado (pausado por exemplo) sera mantido
-
updateSchedule
void updateSchedule(String jobId, TriggerInfo info, Class<? extends Job> jobClass) throws JobWillNeverFireException Atualiza uma rotina, atualizando dados da trigger e jobClass- Parameters:
jobId-info-jobClass-- Throws:
JobWillNeverFireException
-
updateSchedule
void updateSchedule(String jobId, TriggerInfo info, Class<? extends Job> jobClass, Map<String, Object> jobParams) throws JobWillNeverFireExceptionAtualiza uma rotina de agendamento, atualizando todos os valores- Parameters:
jobId-info-jobClass-jobParams-- Throws:
JobWillNeverFireException
-
deleteSchedule
Exclui uma job- Parameters:
jobId-
-
pauseJob
Pausa uma tarefa- Parameters:
jobId-
-
resumeJob
Restaura a execucao de uma job- Parameters:
jobId-
-
executeJob
Executa imediatamente uma tarefa agendada.- Parameters:
job-
-
getJobState
Obtem o estado de execucao de uma job- Parameters:
jobId-- Returns:
- - Estado da execucao, ou NULL caso a job nao seja encontrada
-
getLastExecutionDate
Data da ultima execucao- Parameters:
jobId-- Returns:
-
getNextExecutionDate
Data da proxima execucao- Parameters:
jobId-- Returns:
-
getStatus
Obtem informacoes de status em uma unica chamada ao scheduler- Parameters:
jobId-- Returns:
-
isValidCalendarInfo
-
pauseAllJobs
void pauseAllJobs()Pausa todas a terefas agendadas no framework. Util para usar em migracoes de bases, onde as jobs precisam ser pausadas para nao conflitar com a base vigente -
standBy
void standBy() throws SchedulerException- Throws:
SchedulerException
-
start
void start() throws SchedulerException- Throws:
SchedulerException
-
isRunning
boolean isRunning() throws SchedulerException- Throws:
SchedulerException
-
isNodeAvaliable
-