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.
  •  
    • Processa 
      • Lib 20240408 ou superior;
      • Obrigatória a implementação dos métodos ProcRegua e IncProc
      • Definição de SchedDef.


    • 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


    • Dicionário Lib
      • Ambiente Protheus 12.1.2310, necessário dicionário da Lib atualizado
        • Em ambiente com lib 20240408 ou superior, executar o atualizador FwRebuildIndex;
      • A partir da release Protheus 12.1.2410 não é necessária atualização do Dicionário Lib (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()


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.



  • Sem rótulos