Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Comentário: DI-2799 - update

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, a ferramenta do 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 outras.


Image AddedImage Removed

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

Criar ou editar tarefa

Ao abrir a janela do Acesse no menu do sistema Projeto > Agendador de tarefas 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 Editar (item destaque 1 da Figura 2.21) 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.


Image RemovedImage Added

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.


Image RemovedImage Added

Figura 2.3 - Configuração do disparador


Clique no botão Novo Disparador ou editar 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


A configuração do disparador obedece algumas regras de hierarquia para o preenchimento dos campos Horas, Minutos e Segundos

  • Se o campo "Horas" for preenchido pelo usuário, os campos "Minutos" e "Segundos" também devem ser obrigatoriamente preenchidos com algum valor, já que representam unidades de tempo menores.
  • Se o usuário precisar informar apenas o campo "Minutos", o campo "Segundos" deve ser obrigatoriamente preenchido com algum valor. Não é necessário preencher o campo "Horas", pois "Minutos" é uma unidade de tempo menor que "Horas" e maior que "Segundos".
  • Se o usuário precisar especificar apenas os segundos, o campo "Segundos" deve ser preenchido. Não é necessário preencher os campos "Horas" e "Minutos" (conforme o último exemplo da tabela).


Nota

Não é possível preencher os campos Dia(s) e Dia(s) da semana em um mesmo disparador. Se um campo estiver selecionado, o outro deve permanecer vazio.

Informações

Se o preenchimento dos campos for realizado pela opção Repetir a cada, as checkboxes não devem ser selecionadas.


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


0 5 Quarta Quinta
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:
  • Quinta e
  • Sexta
  • 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 12 segundo(s)
  • Dias: não preenchido
  • Dias da Semana: não preenchido
  • Meses: não preenchido
A cada 12 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 Editar, da lista de ações (item 1 da Figura 2.4), a janela de seleção de Blocos de programação é aberta, informe um nome e selecione o bloco a ser executado.


Image RemovedImage Added

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

Arquivos do Agendador

Quando criamos um agendamento, o diretório jobs é / é criado abaixo dentro do pacote do projeto Namespace 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