Mudanças entre as edições de "TPHProcesso"
(→Exemplo) |
|||
Linha 31: | Linha 31: | ||
{ Exemplo aplicação da classe TPHProcesso ao script } | { 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; | end; |
Edição das 19h20min de 25 de fevereiro de 2023
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 registo 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;