Árvore de páginas


01. DADOS GERAIS

Produto:

TOTVS Varejo Franquias e Redes

Linha de Produto:

Franquias e Redes

Segmento:

Varejo

Módulo:PDV Omnishop
Função:Configuração
País:Brasil
Ticket:
Requisito/Story/Issue (informe o requisito relacionado) :DVARLIVEPDV-17638


02. SITUAÇÃO/REQUISITO

Informado que o excesso de processos do PostgreSQL está causando lentidão na máquina e consumo de 100% de CPU da mesma.

03. SOLUÇÃO

Para tentar reduzir o consumo criamos uma rotina de expurgo de dados do banco TOTVSPDV.

Adicionado na API de Configuração um novo método (limparhistoricobanco)
Adicionado no Mozart um novo temporizador, para que seja executado o Limpar histórico banco a cada 2h.

No novo método será realizada a limpeza das seguintes tabelas com as seguintes condições:

Tabela Venda e suas dependências:
    Será obtido a data atual e a partir dela, desconsiderado os últimos 90 dias. Será obtido 1.000 vendas realizadas antes dessa data retornada e na sequencia verificado a situação dessas vendas.
    Vendas com a situação de finalizada, porém com a coluna sincronizado_venda = false, não serão deletadas.
    Venda com situação de cancelada, porém com a coluna sincronizado_venda = false OU sincronizado_cancelamento = false, não serão deletadas.
    Qualquer uma das vendas obtidas que não corresponda a uma data inferior a data atual - 90 dias, não serão deletadas.
    Para realizar a deleção da tabela venda, é necessário deletar suas dependências. Ou seja, a partir do momento que a venda atender as condições citadas a cima será obtido os itens, pagamentos, pagamentos tef, pagamentos complementares, descontos no total e descontos no item dessa respectiva venda. Todos os dados vinculados a ela serão apagados.
    Número de registro deletados ou caso ocorra algum erro, será logado no LOG centralizado.
    Tempo aproximado: 2min e 30s
    
Tabela Pre_venda e sua dependências:
    Será obtido a data atual e a partir dela, desconsiderado os últimos 90 dias. Será obtido 1.000 pré-vendas realizadas antes dessa data retornada e na sequencia verificado a situação dessas pré-vendas.
    Serão deletadas somente as pré-vendas com status de CANCELADA, FINALIZADA E RESGATADA.
    Número de registro deletados ou caso ocorra algum erro, será logado no LOG centralizado.
    
Tabela Venda_Custodia_XML:
    Será obtido a data atual e a partir dela, desconsiderado os últimos 90 dias. Será obtido 1.000 XMLs salvas antes dessa data retornada e na sequencia verificado a situação dessas XML.
    Serão deletadas somente as XMLs onde a coluna enviar_retaguarda seja false e a coluna enviar_contingencia_retaguarda também seja false.
    Número de registro deletados ou caso ocorra algum erro, será logado no LOG centralizado.
    
Tabela MzFilaHistorico
    Será obtido a data atual e a partir dela, desconsiderado os últimos 90 dias. Será obtido 1.000 registros gravados antes dessa data retornada.
    Todos os registros anteriores a essa data serão deletados.
    Número de registro deletados ou caso ocorra algum erro, será logado no LOG centralizado.
    
O tempo "médio" obtido para o delete desses registros foi de 02min 20seg, porém na base utilizada para teste não havia registros na MzFilaHistorico somente 106k de registros das demais tabelas.

04. DEMAIS INFORMAÇÕES

N/A

05. ASSUNTOS RELACIONADOS

  • N/A