Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.


Índice

Objetivo

Reduzir o tempo de processamento e também o consumo de memória no TotvsAppServer para rotinas que envolvam quaisquer uma das situações a seguir:

  • Grande volume de dados que possam ser processados em lotes de forma paralela
  • Múltiplas rotinas que possam ser executadas de forma paralela

...

Funcionamento e Vantagens

O uso das funções POOL JOBS é semelhante ao uso do componente LTHREAD, onde a aplicação controla a quantidade máxima de THREADS executadas de forma paralela e em modo JOB (sem interface), no entanto ela tem as seguintes diferenças:

...

AçõesComponente LThreadFunções POOL JOBS
Executar múltiplas Threads paralelasSIMSIM
Distribuir a execução de threads em múltiplos AppserversNÃOSIM
Executar funções distintas para um mesmo pool de ThreadsNÃOSIM
Executar mais de um grupo de threads para processamentos distintosNÃOSIM
Controlar a quantidade de execuções paralelas de uma mesma função no POOLNÃOSIM
Identificar se uma determinada função está em andamento no grupo de threads JobsNÃOSIM
Controle da quantidade de execuções paralelas na mesma base de dadosNÃOSIM

...

Exemplo:
logix.pooljobs.servers.wvd9900=192.168.99.1:7091,192.168.99.1:7092

...

2) DESENVOLVIMENTO NO FONTE .4GL:

DEFINE m_pooljob_name CHAR(30)

LET m_pooljob_name = "logix_pool"

IF _ADVPL_PoolJobs_getCountProcess(m_pooljob_name) > 0 THEN
CALL LOG_Message("POOL JOBS","ERROR","Este processo já está em andamento.")
RETURN
END IF

...