Agendador de Tarefas do SIGER: terceira fase concluída

Agendador de Tarefas do SIGER

A terceira fase do desenvolvimento do Agendador de Tarefas do SIGER® foi concluída! Agora, o monitoramento de execuções está pronto para os usuários utilizarem e o agendador já está disponível para uso na versão 21.20e do ERP. Confira neste post todas as novidades do projeto!

Relembrando

O projeto está dividido em 4 fases principais. A terceira fase, que foi recentemente concluída, trata do monitoramento de execuções, de modo que o usuário consiga acompanhar facilmente o que foi executado pelo Agendador de Tarefas do SIGER®.

A fase um foi responsável pelo desenvolvimento do core ou motor principal do agendador foi implementado na linguagem Java. Já na fase dois a interface gráfica do agendador foi finalizada.

Implementações da fase 3

Menus do sistema

Lembrando que o agendador está disponível em todos os módulos do sistema, através do menu 9-Gerais -> B-Agendador de Tarefas. Durante o desenvolvimento da fase 3 do projeto, foi criado um novo menu para acessar o monitoramento de execuções de tarefas agendadas.

Figura 1 – Menus do agendador de tarefas

Monitoramento de execuções

monitoramento de execuções de tarefas, indicado na figura 2, apresenta ao usuário diversas informações importantes sobre a execução da tarefa.

Sendo elas:

  • ID da execução
  • ID da tarefa agendada
  • Data/hora inicial da execução da tarefa agendada
  • Data/hora final da execução da tarefa agendada
  • Duração da execução da tarefa agendada
  • Status da execução da tarefa agendada

monitoramento foi construído de forma idêntica a manutenção consolidada de tarefas, ou seja, utilizando um grid dinâmico. Isso é positivo pois temos diversos recursos que o usuário já está acostumado a utilizar pelo SIGER®, disponibilizados pelo framework.

Sempre que uma tarefa é disparada, o agendador registra no banco de dados que a execução foi iniciada. Assim que a execução for finalizada, o agendador atualiza essa informação indicando que a tarefa teve sua execução finalizada.

Figura 2 – Grid de monitoramento de execuções de tarefas agendadas do SIGER®

O grid de monitoramento de execuções conta com dois botões:

Consultar: Consulta a tarefa agendada vinculada à execução através da manutenção.

Encerrar: Encerra a execução de uma ou mais tarefas em execução, conforme as execuções marcadas no grid.

Figura 3 – Exemplo de finalização de execução de tarefa agendada.

Configurações globais

No menu de configurações globais, foi criado um novo parâmetro para indicar o IP do computador onde está rodando o agendador de tarefas. Isso permite que o agendador não esteja obrigatoriamente rodando no servidor onde está o ServiceManager. Caso esse parâmetro não possua valor, é assumido localhost.

Figura 4 – Configurações globais do agendador de tarefas do SIGER®

Microsserviço

Durante o desenvolvimento da fase 3 do projeto, adaptamos o agendador de tarefas para trabalhar como um microsserviço.

Segundo a definição de microsserviços:

Microsserviços são uma abordagem arquitetônica e organizacional do desenvolvimento de software na qual o software consiste em pequenos serviços independentes que se comunicam usando APIs bem definidas. Esses serviços pertencem a pequenas equipes autossuficientes.

Desse modo, o agendador de tarefas foi construído de forma totalmente desacoplada do SIGER®, como se fosse um produto separado. Graças a sua API bem definida, conseguimos facilmente integrar ao SIGER®. Isso também abre possibilidades de outras integrações com o agendador de tarefas, tanto por parte da Rech como de terceiros.

Figura 7 – Exemplo de arquitetura orientada à microsserviços

Backup

Pelas boas práticas de desenvolvimento de microsserviços, cada microsserviço deve ter a sua própria base de dados, e somente o microsserviço deve interagir diretamente com ela. Devido a isso, o agendador de tarefas tem sua própria rotina de backup e restore de dados.

Porém, esse backup também é executado juntamente com o backup do SIGER®. Dessa forma, sempre que os clientes fizerem um backup do SIGER®, farão também um backup de todos os dados presentes no agendador de tarefas.

Processo de atualização do SIGER®

A fase 4 do projeto do agendador de tarefas trata do processo de atualização do SIGER®. Já estamos trabalhando atualmente em recursos que vão facilitar bastante a atualização do SIGER® em clientes que possuem tarefas agendadas.

Desta forma, o RIATSI conseguirá pausar o agendamento de tarefas agendadas, para que não sejam executadas novas tarefas durante o processo de atualização. O RIATSI também conseguirá apresentar ao usuário/técnico da Rech as tarefas que estão em execução, para que possam ser finalizadas da maneira mais apropriada.