Produto: | TOTVS Varejo Franquias e Redes |
---|---|
Linha de Produto: | Franquias e Redes |
Segmento: | Varejo |
Módulo: | TOTVS Varejo PDV Omni |
Função: | Inicialização |
País: | Brasil |
Ticket: | |
Requisito/Story/Issue (informe o requisito relacionado) : |
Em algumas lojas após uma atualização do sistema ou após uma reinicialização do Windows a API do PDV não estava operacional, não sendo possível realizar o login. O processo não era realizado pois a API do PDV não estava em execução.
Sempre ao tentar iniciar o processo da API era apresentado erro fazendo com que a mesma fosse finalizada inesperadamente.
Ao coletarmos a base dos ambientes que reportaram esse problema, encontramos alguns erros diferenciados em cada ambiente. Em alguns ambientes ocorreu erro de acesso ou dependência entre as DLLs da API e em outras apresentaram erro com relação do arquivo C:\TOTVSPDV\TOTVS.Omnishop.API\Configurations\hangfire.json que estava diferente do esperado ou corrompido.
Não foi possível verificar o que estaria corrompendo o arquivo C:\TOTVSPDV\TOTVS.Omnishop.API\Configurations\hangfire.json, porém na própria API há alguns fluxos que realizam a edição desse arquivo. Para minimizar a possibilidade da própria API estar corrompendo o arquivo devido a concorrência de escrita adicionamos um LOCK no fluxo da edição, para que os pedidos de alteração do arquivo sejam enfileirados e não tentem o acesso ou edição ao arquivo simultaneamente.
Para os cenários em que o problema era referente ao acesso ou dependência das DLLs, encontramos em alguns cenários problemas na atualização, onde ao tentar substituir os arquivos para os atualizados eles estavam em uso, impossibilitando a substituição. Porém, mesmo com o erro na substituição na atualização dos arquivos o instalador não estava interrompendo a instalação, na verdade, estava seguindo o fluxo como se a atualização tivesse ocorrendo normalmente. Para corrigir essa falha adicionamos uma exceção no fluxo de cópia de arquivos da API no processo da instalação. Ou seja, caso ocorra algum erro no processo de instalação onde não seja possível transferir os novos arquivos para o diretório da API ou do Segundo Monitor o processo de instalação será encerrado com erro e não mais com sucesso.
PRODUTO | VERSÕES |
---|---|
TOTVS PDV Omni | 3.6.169.0 |
TOTVS PDV Omni | 3.7.177.0 |
TOTVS PDV Omni | 3.8.52.0 |
o que