Ir para conteúdo
  • Cadastre-se

dev botao

SAT e PHP - lentidão


Ver Solução Respondido por José M. S. Junior,
  • Este tópico foi criado há 1221 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Membros Pro

Pessoal boa tarde!

Consegui fazer a integração, utilizando até o exemplo que veio no próprio ACBR, entre um ERP em PHP/MySQL e o ACBR com socket retornando json.
Porém notei que está um pouco lento o processo quando o ERP envia para o socket o .ini para gerar, autorizar e depois imprimir pelo ESCPOS.

Para você terem uma ideia é um processo que está demorando em média 25 a 40 segundos para cada geração/impressão.

A internet é fibra ótica e tem uma velocidade de download e upload de 50Mb o que creio que não seria o problema, até então.

O passo a passo que faço hoje é:
 1 - Abro o socket

2 - Envio o SAT.Inicializar()

3 - Envio SAT.CriarEnviarCFe('conteudo do ini') (nesse processo eu dou um loop de até 3 tentativas aguardando 2 segundo em cada tentativa para poder receber a resposta do socket, pois notei que as vezes autorizava mas o retorno vinha vazio[por isso tento até 3x caso não tenha retorno, ou até que tenha um retorno do scoket])

4 - Se tudo deu certo eu abro novamente a conexão com o Socket e envio o  ESCPOS.setporta("COM13")(pois seria a impressora de impressão dos Cupons)

5 - SAT.Inicializar()

6 - SAT.ImprimirExtratoVenda("caminho retornado pelo CriarEnviar")

7 - SAT.Desinicializar();

8 - Fecho a conexão do socket.

 

Gostaria da ajuda de vocês para saber se alguém já fez esse tipo de integração, e se existe alguma forma de melhorar/otimizar esse tempo, ou sé é um tempo relativamente "normal".

 

Desde já agradeço a atenção de todos.

Link para o comentário
Compartilhar em outros sites

  • Moderadores
  • Solution

Boa tarde Elder, neste caso precisa considerar o tempo de resposta do próprio aparelho, conforme você mesmo citou. O ideal é realizar os mesmo testes localmente para saber qual seria esse tempo e posteriormente ver a diferença utilizando TCP/IP... 

Note que a configuração TCP/IP tem um timeout de espera na sua aplicação esse timeout pode ser um pouco maior para evitar de encerrar a comunicação antes da retorno.

obs: O passo 5 - SAT.Inicializar() não é necessário.

Consultor SAC ACBr

José Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.