Jump to content

click.png

click.png

click.png

click.png

click.png

click.png

click.png

click.png

click.png

click.png

click.png

click.png

click.png click.png click.png

Diminuir tempo de resposta


  • Este tópico foi criado há 1964 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Membros Pro

Olá a todos,

Tenho um aplicativo de emissão de NFCe que preferencialmente tenta enviar a nota normalmente, mas ao detectar ausência de internet efetua o envio da mesma em contingência de forma automática.

O problema é que hoje observei em um dos meus clientes que a janela de tempo entre a tentativa de envio da NFCe normalmente e o momento em que o componente detecta tal perda de conexão é de mais ou menos 10 segundos, o que é muito nesse cliente que atende muitas pessoas nos horários de pico.

Pensei em diminuir o Timeout do ACBrNFE1, e observei que o mesmo estava configurado para 18000, o que já achei estranho, pois contei 10 segundos conforme falei, e não 18. De qualquer forma diminui o mesmo para 5000 achando que resolveria o problema, mas na prática continua demorando os mesmos 10 segundos.

Então gostaria de saber qual a função da propriedade TIMEOUT no componente e como devo fazer para efetivamente diminuir a janela de tempo mencionada?

Desde já agradeço a atenção 

Edited by doidopb
Link to comment
Share on other sites

  • Consultores
  // tempo de timeout
  ACBrNFeCS.Configuracoes.WebServices.TimeOut := 10000;

  // tempo padrão que vai aguardar para consultar após enviar a NF-e
  ACBrNFeCS.Configuracoes.WebServices.AguardarConsultaRet := 5000;

  // Intervalo entre as tentativas de envio
  ACBrNFeCS.Configuracoes.WebServices.IntervaloTentativas := 1000;

  // quantidade de tentativas de envio
  ACBrNFeCS.Configuracoes.WebServices.Tentativas := 10;

  // ajustar "AguardarConsultaRet" com o valor retornado pelo webservice (True/False)
  ACBrNFeCS.Configuracoes.WebServices.AjustaAguardaConsultaRet := True;

 

  • Like 1
Consultor SAC ACBr Juliomar Marchetti
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

skype: juliomar
telegram: juliomar
http://www.juliomarmarchetti.com.br
Embarcadero MVP
Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil
Link to comment
Share on other sites

  • Membros Pro

Olá Juliomar,

Fiz alguns ajustes em meu código, e ao testar sem internet o tempo de resposta agora está obedecendo fielmente o TimeOut especificado.

Só que observei que independente da quantidade especificada em "ACBrNFeCS.Configuracoes.WebServices.Tentativas", ele só tenta enviar uma vez e dá erro.

Por exemplo, especifico o TimeOut em 5000 e as Tentativas em 3, desligo a internet e tento enviar, após 5 segundos dá erro de TimeOut. Dado a descrição, // quantidade de tentativas de envio, eu supus que em 5 segundos daria o erro de TimeOut e ele tentaria mais 2 vezes (total de 3 tentativas), totalizando 15 segundos no final. Não é assim que a propriedade Tentativas trabalha?

Link to comment
Share on other sites

  • 2 weeks later...
  • Consultores

bom dia

no caso ele só irá tentar se falhar o execute do webservice conforme o código abaixo!

 while (inherited Executar) and
      (Tentativas < FPConfiguracoesNFe.WebServices.Tentativas) do
    begin
      Inc(Tentativas);
      sleep(IntervaloTentativas);
    end;                                           

 

  • Like 1
Consultor SAC ACBr Juliomar Marchetti
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

skype: juliomar
telegram: juliomar
http://www.juliomarmarchetti.com.br
Embarcadero MVP
Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil
Link to comment
Share on other sites

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.