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.
Monitoramento de execuções
O 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
O 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.
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.
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.
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.
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.