Árvore de páginas

Versões comparadas

Chave

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

...

Produto:

Solucoes_totvs
SolucaoTOTVS Varejo Franquias e Redes

Solucoes_totvs_cross
SolucaoCross

Solucoes_totvs_parceiros
SolucaoParceiros

Solucoes_totvs_parceirosexptotvs
SolucaoParcsExpsTOTVS

Linha de Produto:PDV Sync
Segmento:

Segmentos_totvs
Segmento Varejo

Módulo:

PDVSync Server Produto

Função:Todas
País:Brasil
Ticket:
Requisito/Story/Issue (informe o requisito relacionado) :

DVARINT1-12738

Versão:

V3


02. SITUAÇÃO/REQUISITO

Refatorar o processo de inserção de dados no PDVSync.Server para suportar grandes volumes (até 5 milhões de registros) de forma eficiente, usando BULK INSERT, eliminando gargalos de performance ao receber dados comprimidos com GZIP em lote único..

03. SOLUÇÃO

Na lib do Sync foi criado um mecanismo para que já faça o bulkcopy no banco do PostgresSQL. Esse método está na PostgreHelper.BulkInsertAsync e documentado na sua interface. Para o uso verifique imagem abaixo.

Image Added

Outro ponto de ajuste foi a lógica para validar o Tennant e se os lotes enviados estão válidos.

No método ProcessarDadosAsync da classe DadoDinamicoAppService foi alterada essa lógica:

Image Added


Image Added

No método ValidarDadosDinamicosAsync foi criado um algoritmo para agrupar os Inquilinos e os Lotes para realizar a validação somente uma vez para cada. Além disso foi criado um mecanismo para paralelizar essas verificações.

Essas alterações elevaram aproximadamente em dez vezes a performance do método.