Páginas filhas
  • PoolJobs_init


Inicia configuração de um POOL de AppServers que serão utilizados para distribuição/balanceamento de processos multi-thread.

Esta função pode ser invocada no início do programa, pois não é preciso acionar ela a cada execução. O objetivo desta função é carregar as configurações do POOL Job Threads existentes no arquivo de profile e avaliar se os AppServers configurados na lista de POOL Job Threads estão ativos e a conexão de banco é válida para o respectivo ambiente em uso, que também deverá existir com mesmo nome nos respectivos AppServers definidos para o POOL.


ATENÇÃO

O ambiente utilizado para execução do programa que inicia o POOL Job Threads, deverá também existir com as mesmas configurações nos demais AppServers configurados na lista de POOL Job Servers, ou seja, o ambiente deverá ter:

  • O mesmo nome do ambiente onde o programa principal está sendo executado;
  • Conectar o mesmo banco de dados que o programa principal conectou;
  • Acessar o mesmo RPO (Repositório de Objetos) que o programa principal.

Para informações a respeito da configuração da lista de POOL Job Servers acesse LGX - Configuração POOL Job Threads.

Sintaxe

_ADVPL_PoolJobs_init( < cPoolMainName > ) => BOOLEAN

Parâmetros

Nome

Tipo

Obrigatório?

Descrição

cPoolMainName

CHAR

Não

Nome principal do POOL de AppServers. Quando não informado, assumirá o nome do POOL com o nome do programa em execução.

Este nome de POOL poderá ser utilizado para configurar a lista de AppServers no PROFILE para a chave jobServers.

Retorno

Tipo

Descrição

BOOLEAN

Indicador de sucesso ou falha na identificação da lista de AppServers configurados como POOL de processos Jobs.

    TRUE  - POOL de AppServers é válido e está aceitando conexões, ou assumiu AppServer atual como POOL, pois não encontrou POOL de AppServers configurado.

    FALSE - Detectou falha de conexão num dos AppServers configurados no POOL. Neste caso no LOG do AppServer principal será registrada mensagem de alerta com o detalhemanto do problema que foi identificado.

Exemplo

DEFINE m_pooljob_name CHAR(30)

#-----------------------------#
 FUNCTION POOLJOBS_init_test()
#-----------------------------#

  #Nome do POOL de processamentos JOB para a empresa que estiver realizando o processamento.
  LET m_pooljob_name = "pool_teste"

  IF NOT _ADVPL_PoolJobs_init(m_pooljob_name) THEN
     CALL conout("PoolJobs não iniciado. Appservers do POOL não foram detectados ou houve falha de conexão.")
     RETURN
  END IF
END FUNCTION

Informações

Fontes: log1200.prw

Observações

Para saber informações de como implementar o uso de POOL de Jobs acesse LGX - Exemplo de uso POOL Job Threads.