Interface ScheduleService

All Known Implementing Classes:
ScheduleServiceImpl

public interface ScheduleService
Servico de agendamento de rotinas
Author:
Eduardo Frazao
  • Field Details

  • Method Details

    • getTriggerById

      Trigger getTriggerById(String id)
      Recupera a trigger do Quartz pelo schedule id (job id).
      Parameters:
      id - schedule id (job id) do agendamento
      Returns:
      trigger correspondente, ou null se nao encontrada
    • rebuildHolidayTriggers

      void rebuildHolidayTriggers()
      Recupera e reprocessa todas as triggers para utilizar o recurso de calendario de feriados do Quartz.
    • rebuildCalendars

      void rebuildCalendars(Long feriadoId)
      Atualiza o calendario de feriados de cada trigger afetada pelo feriado passado como parametro.
      Parameters:
      feriadoId -
    • rebuildSchedulerHolidays

      void rebuildSchedulerHolidays() throws SchedulerException
      Reconstroi 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

      TriggerInfo getTriggerInfo(String jobId)
      Obtem a informacao (TriggerInfo) utilizada para construir o job.
      Parameters:
      jobId - id do job
      Returns:
      informacoes da trigger do job, ou null se nao encontrado
    • schedule

      String schedule(TriggerInfo info, Class<? extends Job> jobClass) throws JobWillNeverFireException
      Cria uma agenda de execucao da job especifica
      Parameters:
      info - Informacoes do agendamento
      jobClass - - Classe worker
      Returns:
      Job ID
      Throws:
      JobWillNeverFireException
    • getJobDataMap

      Map<String,Object> getJobDataMap(String jobId)
      Recupera o mapa de dados persistidos do job (os jobParams informados 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 JobWillNeverFireException
      Cria uma agenda de execucao da job especifica
      Parameters:
      info - Informacoes do agendamento
      jobClass - - Classe worker
      jobParams - - Parametros que devem ser persistidos, e sao esperados pela JobClass
      Returns:
      Job ID
      Throws:
      JobWillNeverFireException
    • rebuildSchedule

      void rebuildSchedule(String jobId)
      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

      void updateSchedule(String jobId, TriggerInfo info)
      Atualiza uma rotina de agendamento
      Parameters:
      jobId -
      info -
    • updateSchedule

      void updateSchedule(String jobId, TriggerInfo info, boolean keepState)
      Atualiza uma rotina d agendamento
      Parameters:
      jobId - - Id do Job
      info - - Informacoes da Trigger
      keepState - - 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 JobWillNeverFireException
      Atualiza uma rotina de agendamento, atualizando todos os valores
      Parameters:
      jobId -
      info -
      jobClass -
      jobParams -
      Throws:
      JobWillNeverFireException
    • deleteSchedule

      void deleteSchedule(String jobId)
      Exclui uma job
      Parameters:
      jobId -
    • pauseJob

      void pauseJob(String jobId)
      Pausa uma tarefa
      Parameters:
      jobId -
    • resumeJob

      void resumeJob(String jobId)
      Restaura a execucao de uma job
      Parameters:
      jobId -
    • executeJob

      void executeJob(String job)
      Executa imediatamente uma tarefa agendada.
      Parameters:
      job -
    • getJobState

      JobState getJobState(String jobId)
      Obtem o estado de execucao de uma job
      Parameters:
      jobId -
      Returns:
      - Estado da execucao, ou NULL caso a job nao seja encontrada
    • getLastExecutionDate

      Date getLastExecutionDate(String jobId)
      Data da ultima execucao
      Parameters:
      jobId -
      Returns:
    • getNextExecutionDate

      Date getNextExecutionDate(String jobId)
      Data da proxima execucao
      Parameters:
      jobId -
      Returns:
    • getStatus

      TriggerSnapshotStatus getStatus(String jobId)
      Obtem informacoes de status em uma unica chamada ao scheduler
      Parameters:
      jobId -
      Returns:
    • isValidCalendarInfo

      boolean isValidCalendarInfo(CalendarTriggerInfo info)
    • 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

      boolean isNodeAvaliable(String nodeName)