Ir para o conteúdo principal

Motor BPMS

A tela de Motor BPMs (mais conhecida como Motor DOX) lista todos os agendamentos feitos em processos BPM. É nessa tela que poderão ser consultados quais os processos que possuem agendamento para executar, qual a última data que esse agendamento foi executado, quando será sua próxima execução, e muito mais informações que podem ser visualizadas de acordo com a necessidade do usuário.

Porque é um recurso importante? 

Bom, os agendamentos são usados em sua maioria em processos/atividades automáticos. Ou seja, que executam certa ação em que não há necessidade do envolvimento do usuário final, usuário do portal. Por exemplo, vamos supor que o sistema A utilize do sistema DOX porém suas informações estão todas em um banco de terceiro, como o TOTVS por exemplo. 

Dado a esta particularidade, é necessário que haja uma "sincronização" de informações. Onde o processo traga lá do banco de terceiro TOTVS as informações para um banco local onde posteriormente essa informação possa ser atualizada, modificada etc.  Então o sistema A criou um processo totalmente automático que busque um grande volume de informações para o sistema local.

Porém essa sincronização deve ser feita meio noite de todo dia, para que não afete os usuários que usam o sistema durante o dia. Pensando nessa necessidade, foi possível criar um AGENDAMENTO, onde o próprio sistema iria rodar o processo nos horários configurados. 

O motor BPM nada mais é do que o que monitora/controla toda essa movimentação de agendamentos. 

Claro que o caso acima do sistema A foi apenas um exemplo, pode ser criado vários cenários onde os agendamentos são de extrema importância. Por exemplo, neste exemplo do evento de temporizador de espera. 

Para acessar a tela do Motor BPM, acesse o módulo de processo > Motor BPMS

image-1646945501286.png

image-1646946249712.png

Para alterar os campos de visualização na tela do Motor BPMS, basta clicar no menu assistente e selecionar a opção "Personalizar". 

image-1647000576298.png

Desse modo, eles serão adicionados na coluna à direita, que é onde ficam todos os campos exibidos na tela de consulta.

image-1647000680157.png

Nessa tela, basta selecionar na coluna à esquerda os campos que você deseja que sejam visualizados e clicar duas vezes sobre eles. É um assistente interessante pois pode haver momentos em que alguma informação daquele agendamento é importante para análise e deve ser deixada na frente por exemplo. 

Exemplo: 

Assim como foi dito acima sobre processos automáticos, vamos criar um exemplo agora para melhor entendimento sobre o motor. Primeiro de tudo, sempre verificar se o micro serviço que roda o motor está ativo: 

image-1647001055536.png

Depois de ativado, vamos para a configuração do processo. Assim como foi criado/desenvolvido o processo de "Registro de despesa" (clicando aqui), é criado um temporizador e isso adiciona um novo registro na fila do motor. 

Edite o processo de "Registro de Despesa", e vá para a aba "Agendamento"

image-1647005346941.png

Clicando em "Novo", vamos configurar um agendamento para este procedimento. Ou seja, o motor irá iniciar uma instância de forma automática de acordo com a nossa configuração de data/horário.

image-1647005793990.png

Neste exemplo, criamos um agendamento de 15 em 15 minutos, para iniciar ao meio dia de 11/03/2022. Depois de 5 execuções esse agendamento irá se finalizar e não executar novamente.

Depois de finalizado a criação, clique em "Ok", salve e libere o processo. Acesse a fila do motor novamente e olhe o novo registro adicionado.

image-1647006187612.png

Como a primeira atividade do nosso processo é manual, o sistema irá abrir a instância e a pessoa com permissão poderá acessar para prosseguir com a colaboração de formulários/eventos. Se fosse um processo inteiramente automático, o sistema passaria por todas as atividades, executando o que foi desenvolvido, e finalizaria o processo de acordo com o fluxo.

Uma boa prática: Um tempo mínimo para as próximas execuções, use 15 de 15 minutos, pois pode causar lentidões ou "pesar" o sistema.