Closed leogregianin closed 8 months ago
Acredito que o tempo de timeout pode variar entre os tipos de notas (NF-/NFC-e/etc). Principalmente em casos de NFC-e, a SEFAZ de cada estado tem uma infraestrutura diferente que impacta bastante nesse valor.
Você já teve a necessidade de editar esse valor para algum serviço específico? Para maior ou menor tempo?
O timeout varia entre NFe, NFCe e MDFe, entre os tipos de serviço da NFe, principalmente transmissão, distribuição e eventos e também varia entre a SEFAZ de cada estado. Por isso não sei a melhor forma de tratar isso, acredito que um valor padrão fixo dentro da lib não seja a melhor forma.
Concordo, podemos procurar um valor configurado em uma env, separado por tipo de nota (NF-e/NFC-e). Caso não encontre define o valor default. Teríamos que disponibilizar um env.sample para convencionar os nomes.
Só uma sugestão, também não tenho uma opinião formada sobre a melhor forma de fazer isso.
Acho que seria bom passar um valor de timeout nas classes de Comunicacao, no construtor que ja é específico para cada serviço.
Hoje o timeout da requisição ao webservice está predefinido como 300 segundos: https://github.com/TadaSoftware/PyNFe/blob/a8f2d54b8b8154ce20cf650a1f20d0ace27bed04/pynfe/processamento/comunicacao.py#L1351
Seria interessante definir como responsabilidade do client conforme sua própria necessidade? Definir um timeout global ou definir um timeout nos parâmetros de cada serviço?