Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

A funcionalidade Agendador de tarefas do Cronapp permite que o servidor da aplicação execute funções em um ou mais momentos específicos ou em ciclo de tempos. Dessa forma, é possível criar jobs no sistema, por exemplo, para gerar automaticamente um relatório semanal ou fechar a folha de pagamento ao final do mês.

O Cronapp também possui o bloco de programação Agendar Execução, onde é possível configurar manualmente as rotinas que serão executadas. Porém, o Agendador de tarefas possui uma série de vantagens:

  • Garantia de Execução, mesmo que o sistema esteja offline;
  • Execução única ou distribuída entre diversos servidores;
  • Dezenas de opções de disparadores;
  • Tolerância a falha;
  • Entre outros...


Image RemovedImage Added

Figura 1 - Agendador do Cronapp configurado para imprimir data e hora atual a cada 5 segundos

Criar ou editar tarefa

Ao abrir a janela do Agendador de tarefas (Figura 2.1) é possível visualizar uma lista com todas as tarefas agendadas, permitindo editar ou excluir uma tarefa existente, além de criar.


Image RemovedImage Added

Figura 2.1 - Agendador de tarefas do Cronapp


Os botões Nova Tarefa Agendada ou Editar (item 1 da Figura 2.1) abrem a janela de tarefas, nela encontramos as abas de configurações: Geral, Disparadores e Ações.

Aba Geral

Define o identificador e a descrição da tarefa, evitando alguma confusão em projetos que possuam diversos agendamentos. 

A caixa de seleção Executar em todas as instâncias da aplicação permite usar todo o recurso do servidor para executar tarefas pesadas. Habilitar essa opção para jobs complexos pode tornar o sistema lento para os usuários.


Figura 2.2 - Aba Geral

Aba Disparador

A aba Disparador permite configurar a execução da tarefa em determinada data e hora ou em ciclos de tempo. Dessa forma, uma mesma tarefa pode possuir 2 ou mais agendamentos, por exemplo, disparar no dia 20 de outubro às 12h30 e todas as quartas e quintas feiras às 14h00.

Ao acessar a aba Disparadores é possível visualizar uma lista com todos os agendamentos, permitindo editar ou excluir um item, além de criar.


Figura 2.3 - Configuração do disparador


Clique no botão Novo Disparador ou Editar (item 1 da Figura 2.3) para abrir a janela Disparador, ela contém o campo Nome para identificação do agendamento e as abas Horas, Minutos, Segundos, Dias, Dias da Semana e Meses.

Em cada aba encontramos checkboxs com os valores fixos de cada período e o campo Repetir a cada, que define a cada quantos ciclos daquele período a ação será executada. No exemplo da figura 2.3, a ação será executada todos os meses.

Como podemos ver na tabela abaixo, em cada abas encontramos todos os possíveis períodos de tempo, com exceção dos minutos e segundos que estão listados em múltiplos de 5. Dessa forma é possível selecionar um ou mais momentos para cada período.


AbaOpções
Horas0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22 e 23
Minutos0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50 e 55
Segundos0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50 e 55
Dias1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30 e 31
Dias da semanaDomingo, Segunda, Terça, Quarta, Quinta, Sexta e Sábado
Meses Janeiro, Fevereiro, Março, Abril, Maio, Junho, Julho, Agosto, Setembro, Outubro, Novembro e Dezembro

Tabela 1 - Período de tempo em cada aba da janela Disparador


Abaixo vemos alguns exemplos de configurações e seus resultados.


ConfiguraçãoResultado
  • Horas: 5
  • Minuto: 10
  • Segundo: 0
  • Dias: 15
  • Dias da Semana: não preenchido
  • Meses: Setembro
Às 05:10:00, no dia 15 do mês de setembro.
  • Horas: 1
  • Minuto: 0
  • Segundo: 0
  • Dias: 1
  • Dias da Semana: não preenchido
  • Meses: "repetir a cada 1 mês"
Às 01:00:00, no dia 1 de todos os meses.
  • Horas: 0
  • Minuto: 0
  • Segundo: 0
  • Dias: "repetir a cada 2 dias"
  • Dias da Semana: não preenchido
  • Meses: não preenchido
Às 00:00:00, a cada 2 dias.
  • Horas: 1
  • Minuto: 0
  • Segundo: 0
  • Dias: 1, 2, 3, 4, 8 e 9
  • Dias da Semana: não preenchido
  • Meses: Janeiro e Fevereiro
Às 01:00:00, nos dias 1, 2, 3, 4, 8 e 9 dos meses de janeiro e fevereiro.
  • Horas: 1
  • Minuto: 30
  • Segundo: 0
  • Dias: não preenchido
  • Dias da Semana: Quarta Quinta e QuintaSexta
  • Meses: Abril e Maio
Às 01:30:00, somente nas quintas e sextas feiras em abril e maio.
  • Horas: não preenchido
  • Minuto: não preenchido
  • Segundo: não preenchido
    • Repetir a cada 30 segundo(s)
  • Dias: não preenchido
  • Dias da Semana: não preenchido
  • Meses: não preenchido
A cada 30 segundos.

Tabela 2 - Tabela com as configurações dos disparadores e seus resultados

Aba Ações

A aba Ações permite selecionar um ou mais blocos de programação servidor (Java) para serem executados nos momentos configurados na aba Disparadores.

Ao clicar no botão Nova Ação ou Editar, da lista de ações, a janela de seleção de Blocos de programação é aberta, informe um nome e selecione o bloco a ser executado.


Figura 2.4 - Configuração da Aba Ações

Arquivos do Agendador

Habilite o botão Modo Avançado (destaque 1 da Figura 2.5) para visualizar os arquivos do Agendador.

Quando criamos um agendamento, o diretório jobs é criado abaixo do pacote do projeto e nele contém as classes Java responsáveis por essas ações, além dele, o arquivo scheduler.json, responsável pela configuração é criada no diretório META-INF.


Image RemovedImage Added

Figura 2.5 - Arquivos gerados pelo Agendador de tarefas do Cronapp


Nota
titleNota

Além de não ser necessário, não recomendamos alterações nestes arquivos, pois pode causar um comportamento incorreto e suas alterações serão perdidas se a IDE precisar atualizá-los.

Nesta página

Índice