Problema com expiração de página => problema de Tomcat ou Firefox?

1 resposta
E

Bom dia,

Tenho uma aplicação web que o usuário manda realizar um processamento “pesado”
no servidor, que pode demorar até +/- uns 5 minutos para retornar. Contudo, o
usuário tem ciência de que o processo é assim mesmo, e pode aguardar sem problemas.

Contudo, quando ele dispara a execução, o Servlet começa a trabalhar e alguns minutos
depois o Firefox retorna uma página de erro dizendo que o processo servidor está
demorando muito, que a conexão com o servidor falhou e que ele “só lamenta”.

Ao verificar no banco de dados, todas as operações são realizadas sem problemas
pelo Servlet, ou seja, o Servlet roda por completo e o Tomcat não derruba a sua
execução. Portanto, acho que não é problema do Tomcat. Acredito que o Firefox
“se desespera” porque o servidor demora pra responder e dá a mensagem de erro
para o usuário.

Eu coloquei a sessão para expirar com 30 minutos, e a conexão de BD para retornar
ao pool com 15 minutos. Portanto, não é problema de expiração destes recursos.

Tem algum jeito de fazer o Firefox e o Tomcat “se entenderem” e aguardar quanto
tempo for necessário para realização desta requisição?

Uso Apache 2.2.9-1, Tomcat 6.0.14 e Firefox 2.0.0.20.
O servidor é um Linux Fedora 8, Kernel 2.6.26.8-57.

1 Resposta

rubinelli

O browser desiste porque aguarda muito tempo sem receber informação alguma. Tem dois jeitos que eu vejo de resolver isso. O primeiro é retornar imediatamente, e deixar o processo executando no background. Aí o usuário pode checar numa página de status ou via Ajax se o processamento encerrou. O segundo é tentar mandar resultados intermediários de tempos em tempos, pra que não dê esse timeout na conexão.

Criado 20 de maio de 2009
Ultima resposta 20 de mai. de 2009
Respostas 1
Participantes 2