Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal boa tarde,
Estou com um problema chatinho aqui com uma aplicação android usando sencha touch. A situação é a seguinte: Meu aplicativo manda um JSON razoavelmente grande pro servidor, para ser processado e fica aguardando a resposta. O problema é que o processamento desse json demora em torno de 2 minutos. O timeout da request está em 10 minutos. Antes que complete esses 2 minutos, a aplicação devolve um erro de conexão, e encerra a conexão, mas por incrível que pareça, no servidor, a conexão ainda está ativa, o processamento executa uma transaction que ainda está aberta, e após uns 2 minutos ele comita todos os dados que deve comitar, e funciona normalmente...
O problema é que o cliente (sencha touch + phonegap) não espera até a resposta do servidor, ele mata a conexão antes alegando erro de conexão.
Alguém já passou por isso?
Consegui resolver, se alguém mais tiver esse problema, vejam bem o que eu fiz. O problema era com o servidor. Antes meu servidor estava assim:
1 - Recebia dados do client (sencha touch)
2 - Processava (duração de 15 segundos em média)
3 - Devolvia resposta em JSON, e só agora enviava os headers de 200 se foi com sucesso ou 500 se deu erro.
Então alterei o servidor pra fazer o seguinte:
1 - Enviar header 200
2 - Processamento normal de 15 segundos em média
3 - Envio do JSON de resposta do processamento pro client (sencha touch).
Como agora eu já mando o header de 200 logo de cara, o client "aguenta" esperar os 15 segundos até aparecer o JSON. Como antes não tinha o header 200 logo no início, o phonegap derrubava a conexão, mesmo sem esperar o timeout do sencha touch.
Espero que possa ser útil pra alguém ^^