<p>Morre como? Timeout? Nao tem como o frontend gerar em background e vc fazer pooling pra ver se ja esta pronto?</p>
<div class="gmail_quote">Em 21/03/2013 19:07, "Andre Carneiro" <<a href="mailto:andregarciacarneiro@gmail.com">andregarciacarneiro@gmail.com</a>> escreveu:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Salve!<div><br></div><div>Estou com problemas para processar requisições extremamente longas. A situação é a seguinte:</div><div><br></div><div>- Tenho um servidor Apache rodando Ruby on Rails, que por sua vez, roda um front-end de um sistema de pesquisas(survey).</div>

<div>- Tenho um script Perl que precisa acessar as páginas desse front-end e recuperar alguns relatórios. Aí vocês me perguntam 'Por que você não acessa via Banco de dados? Bom, basicamente não consigo descobrir alguns detalhes sobre como o sistema ordena alguns dados, o que me gera vários problemas com os relatórios que eu preciso entregar, aí achei que o melhor caminho seria usar o relatório que já existe no front-end e filtrar apenas o necessário, sem alterar a ordem de nada.</div>

<div>- O problema é que alguns relatórios são muito grandes, o que não impede o front-end gerar o arquivo e disponibilizar o link. Isso, a princípio, é feito on-demand, ou seja, tem um botão onde se clica para disparar uma requisição que faz com que essa app Ruby gere esses relatórios. E a requisição via browser não morre até o relatório ser gerado, não importando o tamanho desse relatório e/ou quanto demore. O grande problema é que eu não sei porque, quando eu faço essa requisição via Perl(WWW::Mechanize, LWP, WWW::Curl etc.) a requisição 'morre', e gera só um pedaço do arquivo.</div>

<div><br></div><div>Algum código:</div><div><code></div><div><div>    my $m = WWW::Mechanize->new(autocheck => 1,</div><div>                                cookie_jar => HTTP::Cookies->new( file => "$ENV{HOME}/.cookies.txt" ) ,                                                                                                                            </div>

<div>                            );</div></div><div><br></div><div>    $m->get('<a href="http://whatever.com" target="_blank">http://whatever.com</a>');</div><div>    if(!$m->succes){</div><div>      #erro</div>
<div>    }</div>
<div>    else{</div><div>      #ok, o arquivo foi gerado processe-o!</div><div><br></div><div>    }</div><div></code></div><div><br></div><div>É isso! Alguma idéia?  Tá faltando informação?</div><div><br></div><div>

<br></div><div><br></div><div>Cheers!</div><div><div><br></div>-- <br>André Garcia Carneiro<br>Software Engineer<br><a href="tel:%2811%29982907780" value="+5511982907780" target="_blank">(11)982907780</a>
</div>
<br>=begin disclaimer<br>
   Sao Paulo Perl Mongers: <a href="http://sao-paulo.pm.org/" target="_blank">http://sao-paulo.pm.org/</a><br>
 SaoPaulo-pm mailing list: <a href="mailto:SaoPaulo-pm@pm.org">SaoPaulo-pm@pm.org</a><br>
 L<<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a>><br>
=end disclaimer<br>
<br></blockquote></div>