-
Total de ítens
55 -
Registro em
-
Última visita
Sobre Dev Comercial
Contact Methods
-
Website URL
www.meganews.com.br
Últimos Visitantes
O bloco dos últimos visitantes está desativado e não está sendo visualizado por outros usuários.
Dev Comercial's Achievements
-
Dev Comercial started following ACBrLibMDFe e ACBrLibNFe
-
Entendi. Mas como esse exemplo Python prova que a lib está funcionando corretamente em multithread? Porque o problema apresentado é nessa situação. A questão não é usar um servidor. O exemplo desenvolvido em go não usa um servidor exatamente por isso. Ele foi construído com o mínimo de dependências possíveis para mostrar que é a lib em situação de multithread que está com problema. Resumindo: LibNFe: * Funciona com multithread e multiplas requisições no golang * Funciona com multithread e multiplas requisições no python mesmo sem nenhuma fila ou implementação explicita de threads Não apresenta "segmentation error" LibMDFe: * Não funciona com multithread e multiplas requisições no golang * Não funciona com multithread e multiplas requisições no python mesmo sem nenhuma fila ou implementação explicita de threads Apresenta "segmentation error" Logo se as duas aplicações tem o mesmo comportamento usando as mesmas duas libs, o problema não é a lib MDFe em si? Implementar uma fila em uma aplicação python tornaria a aplicação single thread e não multi thread uma vez que seria necessário aguardar uma requisição terminar para ir para a outra.
-
Fizemos o teste substituindo a lib mdfe pela nfe no código python e na nfe não ocorre o erro. Um comportamento similar ao da aplicação go. O teste também foi feito com o mesmo comando ab
-
Executei aqui seu código. Realmente com uma request e um cliente por vez funciona. Testamos com multiplas request e clientes que é o que código go simula e nesse caso ocorre o erro. Para realizar os teste em seu código usamos o programa apache ab. Segue o comando. ab -n 10 -c 5 http://localhost:5000/versao Obs: esse programa pode ser instalado com apt install ab ACBrLibMDFe-20241002.log
-
Bom dia pode me mandar esse código python para eu verificar a diferença para o meu. temos o mesmo problema aqui no c# que inclusive contribuirmos com vocês na atualização para dotnet 8. O mais estranho que no nosso exemplo o problema não ocorre quando a lib é nfe.
-
O valor o buffer é fixo em 255 da para ver isso na linha 17 e na função bufferNew que esta no exemplo
-
Certo, mas olhando o código das duas libs é para o comportamento ser igual para as duas né ? Já que para esse método de versão é o acbrlibcomum que resolve.
-
Segue um exemplo simples o que estou usando para teste o comportamento da lib multi thread. nesse exemplo é possível trocar entres a lib nfe e mdfe e ver o comportamento delas https://gitlab.com/julio.novaes/exemploacbr Para executar o exemplo basta ter o ambiente configurado e mudar o caminhos para lib no código. O problema é quando executamos com mdfe ela quebra de forma intermitente
-
Cara você estaria disponível para discutir esse problema através do discord la fica mais fácil para eu explicar o problema
-
Realmente dessa forma que mostrou, o problema não ocorre. O problema acontece com um múltiplas requisições simultâneas. no caso você pode constatar o problema gerando varias thread manualmente como no exemplo go ou transformando aplicação em servidor por exemplo com flask e utilizar o comando ab para simular varias requests.
-
Fiz uma imagem de container com as dependências configuradas para adiantar o desenvolvimento está disponível em https://hub.docker.com/repository/docker/julionovaessouza/acbrmdfe/general
-
Estou usando o debian bookworm e a OpenSSL 3.0.14 porém com OpenSSL Legacy Provider habilitado por conta da compatibilidade com a biblioteca. a versão 1.1 não pode ser instalada nas distribuições como debian devido a vulnerabilidades o Legacy Provider garante a compatibilidade e tanto que consigo fazer alguns envios.