Árvore de páginas


01. DADOS GERAIS

Produto:

TOTVS RH

Linha de Produto:

Linha Protheus 

Segmento:

RH 

Módulo:GESTÃO DE PESSOAS (SIGAGPE)
Função:CÁLCULOS MÚLTIPLOS (GPEM020A)
Ticket:
Requisito/Story/Issue (informe o requisito relacionado) :DRHPAG-47080
Pacote:Liberação na expedição contínua do módulo RH a partir de 02/07/2021.


02. 
SITUAÇÃO/REQUISITO

Melhoria de performance no cálculo por roteiros e possibilidade de utilização de multi-threads com GRID.

03. SOLUÇÃO

As rotinas de cálculos por roteiros (GPEM020 e GPEM020A) possibilitam duas formas de efetuar os cálculos com multiprocessamento, uma com utilização de multi-thread e outra com utilização de GRID.

Enquanto o primeiro é direcionado para empresas com muitos processos com poucos funcionários, o segundo é mais direcionado para empresas com poucos ou apenas um processo com muitos funcionários.

Visando atender os clientes que se enquadram nas duas regras, ou seja, que possuem muitos processos com muitos funcionários alocados, foi liberada a utilização da rotina com os dois tipos de processamento aninhados, ou seja, ao selecionar dois ou mais processos para cálculo na rotina de Cálculos Múltiplos (GPEM020A), será criada uma thread para cada processo (de acordo com o total definido no parâmetro MV_CALCTHD), e cada thread iniciará o cálculo por meio do GRID, abaixo um diagrama das possibilidades de cálculo que estarão disponíveis a partir de agora:


Multi-Thread → Recomendado para clientes que possuam vários processos com poucos funcionários alocados em cada um. Exige pouco no que tange a infraestrutura.

GRID → Recomendado para clientes com poucos processos e muitos funcionários alocados. Exige muitos recursos de infraestrutura.

Multi-Thread com GRID → Recomendado para clientes que possuem vários processos com muitos funcionários alocados em cada um deles. Exige alto investimento em infraestrutura e implantação.


Importante

A utilização de multi-threads com GRID exige uma infraestrutura capaz de suportar o processamento paralelo. Não existe uma quantidade ideal de threads ou agentes do GRID. Sugerimos que esta análise seja realizada durante o proccesso de implantação, realizando testes pontuais, iniciando, por exemplo, com duas threads e dois agentes, e aumentando progressivamente de acordo com a estatisticas de performance. Quando a performance alcançar o pico de rendimento, no próximo aumento de thread ou agente a velocidade tende a diminuir progressivamente, por isso é importante encontrar a melhor relação Threads x Agentes x Infraestrutura. Essa relação deve estar alinhada com a quantidade de usuários que poderão acessar o sistema e concorrer com o cálculo, de modo a não formar gargalos.

Para utilização de multi-thread com GRID deve ser feita toda a implantação relacionada ao GRID através do link, além da definição de quantidade de threads no parâmetro MV_CALCTHD

Atenção

Devido as peculiaridades da rotina, a barra de processamento não é atualizada por filial, como no GPEM020, e sim por processo.


04. DEMAIS INFORMAÇÕES

Na rotina cálculo múltiplo utilizando o cadastro de processos  (RCJ) compartilhado, mesmo que haja diversas filiais a rotina iniciará uma única thread. No cenário em que cadastro de processos  (RCJ) é exclusivo por filial, será iniciado uma thread por filial, de acordo com a parametrização realizada no parâmetro. MV_CALCTHD. 

Na rotina de fechamento, as threads só serão iniciadas em um cenário que haja mais de 300 registros ativos na tabela SRA (funcionários).

Importante: O compartilhamento das tabelas das seguintes tabelas devem seguir o mesmo compartilhamento cadastro de processos (RCJ)

  • Períodos de Cálculo (RCH)
  • Cadastro de períodos (RFQ)
  • Itens Calendário de Pagamento (RCG)
  • Períodos (RCF)

05. ASSUNTOS RELACIONADOS