Setar o Keep-Alive do Request

Pessoal, seguinte…
Quando eu mando executar algo no servidor que leva mais que 5 minutos estou com problemas, por causa do Keep-Alive que existe no request…
Tem como eu aumentar este Keep-Alive…???
Quando ele passa deste tempo ele apresenta no browser como concluido.

O correto é você deixar essa requisição em uma fila, e mostrar uma página do tipo “Sua solicitação está sendo analisada, volte aqui mais tarde”. Tenha uma outra página que mostra se a requisição foi atendida ou não, e outra ainda que mostra os resultados da requisição.

Ou então solicitar o “tuning” do banco de dados ou outra coisa que esteja demorando tanto para processar. 5 minutos é muita coisa.

[quote=thingol]O correto é você deixar essa requisição em uma fila, e mostrar uma página do tipo “Sua solicitação está sendo analisada, volte aqui mais tarde”. Tenha uma outra página que mostra se a requisição foi atendida ou não, e outra ainda que mostra os resultados da requisição.

Ou então solicitar o “tuning” do banco de dados ou outra coisa que esteja demorando tanto para processar. 5 minutos é muita coisa.[/quote]

Mas é que o procedimento que esta sendo realizado é muito pesado mesmo, pois tem que fazer analise em várias tabelas e inserir milhares, ou até mesmo milhões de registros no banco de dados…
Não tem como eu fazer para o browser ficar aguardando a resposta eternamente ?
Sem ter um tempo máximo para retorno?
Ou pelo menos colocar um valor como 30 minutos ?

Aqui onde estou prestando serviço eles fazem o seguinte: a requisição é posta em uma fila, então é deixada para ser processada, e quando acabar de ser processada, um email é mandado para quem mandou a requisição.
De fato, o tal processo leva de 30 minutos a 2 horas, então não vale a pena fazer o cara esperar no browser. Melhor ele receber um email mesmo.

É claro que se for possível fazer uma pré-análise dos dados (do tipo “acho que vai levar 2 minutos” porque ele pediu para analisar só 10.000 entradas ) aí dá para fazer o cara esperar. Senão mande um email pro cara.

Não posso alterar o comportamento do sistema, ele tem que bloquear as operações do usuário…
E ficar na tela esperando até ter a resposta final do servidor…
Tem como fazer isto ?

Provavelmente você vai ter de pôr um Ajax aí no seu código para mostrar uma mensagem do tipo “ainda não processado” e outra do tipo “processado”. Além disso você vai ter de travar um monte de botões enquanto a tal tranqueira não tiver sido processada.
É claro que o tal processo pesado tem de ser processado em uma thread separada por uma fila, oras bolas!
Quando a confirmação da execução do processo chegar você pode mudar o status do Ajax para “processado” e habilitar o monte de botões.

[quote=thingol]Provavelmente você vai ter de pôr um Ajax aí no seu código para mostrar uma mensagem do tipo “ainda não processado” e outra do tipo “processado”. Além disso você vai ter de travar um monte de botões enquanto a tal tranqueira não tiver sido processada.
É claro que o tal processo pesado tem de ser processado em uma thread separada por uma fila, oras bolas!
Quando a confirmação da execução do processo chegar você pode mudar o status do Ajax para “processado” e habilitar o monte de botões.
[/quote]

Pior que este procedimento eu não posso realzar por ajax…
Por isto que eu estou tentando achar alguma forma de aumentar este Keep-Alive…
Para permitir que fique aguardando um retorno do servidor por tempo indeterminado…

Tem como será ?