Mudanças entre as edições de "TPHProcesso"

(Exemplo)
(Procedimentos)
 
Linha 22: Linha 22:
 
===Procedimentos===
 
===Procedimentos===
 
*'''Iniciar:''' Iniciar o registro do processo junto a tabela DB_PROCESSOS.
 
*'''Iniciar:''' Iniciar o registro do processo junto a tabela DB_PROCESSOS.
*'''Atualizar:''' Atualizar o percentual junto ao registo do processo.
+
*'''Atualizar:''' Atualizar o percentual junto ao registro do processo.
 
*'''Cancelar:''' Registrar o cancelamento do processo.
 
*'''Cancelar:''' Registrar o cancelamento do processo.
 
*'''Concluir:''' Registrar a conclusão do processo.
 
*'''Concluir:''' Registrar a conclusão do processo.

Edição atual tal como às 09h49min de 15 de abril de 2025

O objeto TPHProcesso é utilizado para monitoramento de scripts executados junto ao servidor de aplicação, principalmente quando realizado de forma assíncrona. O acompanhamento da execução poderá ser realizado através do PHERP ou Serverconf, conforme descrito em processos.

Propriedades

Nome Tipo Descrição
Identificação String Nome de identificação do processo que será executado.
Percentual Total Double Valor correspondente ao total de registros ou itens que serão processados. Exemplo: 100.
Percentual Double Valor correspondente ao ponto atual da execução do processo. Exemplo: Se o processo estiver na metade, informar 50, quando 100 foi o percentual total informado.

Procedimentos

  • Iniciar: Iniciar o registro do processo junto a tabela DB_PROCESSOS.
  • Atualizar: Atualizar o percentual junto ao registro do processo.
  • Cancelar: Registrar o cancelamento do processo.
  • Concluir: Registrar a conclusão do processo.
  • Erro: Registrar que ocorreu erro no processo.
  • AddLog(pLog:String): Adicionar registro de log ao processo.

Exemplo

 { Exemplo aplicação da classe TPHProcesso ao script  }
 
 procedure ProcessoTeste;
 var
   P:TPHProcesso;
   I:Integer;                        
 begin
   P := NewPHProcesso;
   try
     p.Identificacao := 'Processo teste';
     p.ProcessoTotal := 100;
     p.Iniciar;
     try            
       for I := 0 to 99 do
       begin
         p.Processo := I;
         { Código do seu processo }                                                                
         p.Atualizar;
         Sleep(100);                                                            
       end;
       p.Concluir;                    
     except
       p.AddLog(MensagemErro);
       p.Erro;                      
     end;              
   finally
     P.Free;                    
   end;  
 end;


Para que o script seja executado diretamente no servidor, é necessário que a chamada seja por agendamento ou por script iniciado no cliente conforme descrito em TPHProcScript.