Páginas filhas
  • Fracionamento de jobs inteligente (Geração de lançamentos em lote)

Versões comparadas

Chave

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

...

Em um ambiente com suporte a 160 jobs em paralelo, configurado para geração de lançamentos com 30 jobs, foram enviadas requisições em paralelo de níveis de ensino e filiais diferentes dentro da mesma coligada. Todas requisições foram programadas para executar as 1016:4030, abaixo segue uma tabela com os dados das requisições e tempo do processo.

No total foram enviados 185 mil parcelas para geração de lançamento não contábil e sem baixa automática com o total de 150 frações, o tempo total a soma dos tempos de execução foi de 2h18min1h16min, e toda execução demorou 36min conforme tabela abaixo:

Geração de lançamentos com concorrência
Quantidade LançamentosNúmero de JobsCódigo ColigadaClasse do ProcessoStatusIniciado EmFinalizado EmTempo de execução
5.000305EduGeraLancSliceableDataOK2820/0506/2025 1016:4030:03012820/0506/2025 1116:0533:01410:2403
10.200305EduGeraLancSliceableDataOK2820/0506/2025 1016:4030:022820/0506/2025 1116:3036:55380:5006
20.000305EduGeraLancSliceableDataOK2820/0506/2025 1016:4030:03012820/0506/2025 1116:3940:22370:5910
50.000305EduGeraLancSliceableDataOK2820/0506/2025 1016:4030:01022820/0506/2025 1216:2048:114610:4018
100.000305EduGeraLancSliceableDataOK2820/0506/2025 1016:4030:012820/0506/2025 1217:5806:594620:1836


O mesmo processamento utilizando o fracionamento de jobs inteligente teve grande diferença de tempo.

O fracionamento inteligente fez o cálculo da melhor quantidade de frações por quantidade de lançamentos, com a criação de menos frações na fila de execução.fez com que o processo fosse executado em menor tempo.

No exemplo não foram utilizados jobs acima do limite e ainda sim houve na soma dos tempos e também no tempo total do processamento.

A soma do tempo para os Os mesmos 185 mil lançamentos em paralelo foram executados em 25min utilizando fracionamento inteligente teve um total de 1h06min promovendo um ganho de 10min, já o tempo de execução foi de 21min usando 132 frações, conforme tabela abaixo:

Geração de lançamentos com concorrência
Quantidade LançamentosNúmero de JobsCódigo ColigadaClasse do ProcessoStatusIniciado EmFinalizado EmTempo de execução
5.09485EduGeraLancSliceableDataOK0924/06/2025 1017:3040:01040924/06/2025 1017:3948:23070:0908
10.194135EduGeraLancSliceableDataOK0924/06/2025 1017:3040:01030924/06/2025 1017:4150:40250:1110
20.394215EduGeraLancSliceableDataOK0924/06/2025 1017:3040:020924/06/2025 1017:4452:12060:1412
50.010405EduGeraLancSliceableDataOK0924/06/2025 1017:3040:02040924/06/2025 1017:4655:57070:1615
101.994505EduGeraLancSliceableDataOK0924/06/2025 1017:3040:01030924/06/2025 1018:5501:43210:2521


Concluímos que o fracionamento de jobs inteligente calcula a melhor proporção de "quantidade de lançamentos/frações" gerando menos itens na fila, o que diminui o tempo de execução do processo total para cada solicitação.

Como visto nos exemplo, os processos foram executados em paralelo, no cenário 1 as execuções foram agendadas no dia 2820/0506/2025 as 1016:40 30 e no cenário 2 os agendamentos foram no dia 0924/06/2025 as 1017:3040.

No cenário 1 foram enviadas no total 150 frações sendo que algumas tiveram que ficar na fila esperando as frações com maior quantidade , demoraram mais tempo na fila sem necessidade.

Ao ajustar o número de frações de forma proporcional a quantidade de lançamentos, nos últimos testes, com valores calculados foi possível executar os 185 mil lançamentos em 25 21 minutos.

Configurando fracionamento de jobs inteligente:

...