Visando um melhor acompanhamento dos processos em execução no Scheduler, rotinas que possuem os recursos Processa e TNewProcess implementados passam a emitir automaticamente notificações de progresso no EventViewer para o usuário que originou o processamento.
Este recurso visa possibilitar um melhor uso de processamentos em segundo plano, evitando que o usuário fique aguardando em tela a conclusão do processamento e fique livre para realizar outras tarefas enquanto seus processos ou relatórios são gerados em paralelo.
Premissas
Para se beneficiar deste recurso, o ambiente e as rotinas executadas em Scheduler com os recursos Processa e TNewProcess devem atender aos seguintes pontos:
- Ambiente com Scheduler Ativo
- A notificação apenas será emitida quando a rotina executada for executada em segundo plano pelo scheduler, rotinas executadas com interface gráfica não geram notificações.
- Ambiente com Scheduler Ativo
-
- Processa
- Lib 20240408 ou superior;
- Obrigatória a implementação dos métodos ProcRegua e IncProc
- Definição de SchedDef.
- Processa
- TNewProcess
- Lib 20240520 ou superior;
- Obrigatória a implementação dos métodos SetRegua1 e IncRegua1
- SetRegua2 e IncRegua2 não influenciam no processo.
- Definição de SchedDef.
- Maiores detalhes e exemplo de implementação, consultar documentação tNewProcess
- TNewProcess
- FwRebuildIndex
- Ambiente Protheus 12.1.2310, necessário executar a rotina de atualização FwRebuildIndex com versão de lib 20240408 ou superior;
- Em caso de duvidas, consultar FwRebuildIndex - Rebuild de índices.
- A partir da release Protheus 12.1.2410 não é necessária a execução do FwRebuildIndex (recurso nativo).
- É possível criar uma validação para identificar a versão da lib, se o novo motor do schedule está habilitado e se os campos necessários já existem na base de dados:
- FwLibVersion() >= '20240408' .And. totvs.framework.smartschedule.startSchedule.smartSchedIsRunning() .And. totvs.framework.eventviewer.checkNewEventViewer()
- Ambiente Protheus 12.1.2310, necessário executar a rotina de atualização FwRebuildIndex com versão de lib 20240408 ou superior;
- FwRebuildIndex
Importante
O processamento sempre ocorrerá pelo Scheduler e a notificação destinada para o usuário que preparou o ambiente, desta forma a não implementação do SchedDef fará com que o Scheduler não reconheça o usuário indicado e consequentemente a notificação será emitida para o usuário Admin.
Notificações
Processada uma rotina pelo Scheduler e que faça uso das classes NewProcess ou Processa, o usuário receberá notificações indicando o progresso (25%, 50%, 75%, Processamento Concluído ou Erro de Processamento).
A chegada de novas notificações pode ser verificada por meio do ícone do EventViewerlocalizado no topo da tela principal do Protheus, ocorrendo a verificação de novas notificações e atualização do ícone a cada abertura e fechamento de rotinas:
Para realizar o processamento de uma rotina em segundo plano pelo Scheduler, consultar documentação Classe Automatic.