Gabriel,<br><br>Se vc está conseguindo baixar uma quantidade tão elevada, é possivel que o problema não esteja no codigo, mas em alguma limitação de firewall. Em meu ambiente de trabalho tenho um problema similar, onde mesmo com fluxo de dados correndo, um timeout age, limitando o acesso...<br>
<br>Minha melhor sugestão é validar timeouts, e promover a recuperação, validando arquivos transferidos com sucesso, para que em um retry vc conclua o download.<br><br>Se não me engano timeout vc define ao iniciar a conexão (net Net::FTP) e para validar os arquivos existentes e concluidos, vc poderia utilizar o existencia do arquivo/tamanho/timestamp com o metodo ls (ou dir).<br>
<br><br><a href="http://perldoc.perl.org/Net/FTP.html#CONSTRUCTOR">http://perldoc.perl.org/Net/FTP.html#CONSTRUCTOR</a><br><br>&nbsp; Vide timeout e &quot;HASH&quot;, este segundo pode lhe permitir acompanhar o download, e reconhecer eventuais falhas ;)<br>
<br><br>&nbsp; Observe o metodo restart também, que aparenta ter o funcionamento do reget (?) ou algo assim, que permite retomar o download de um arquivo em FTP... (nao uso isto a alguns anos :D )<br><br><br><br><br>Sds,<br>Marco Antonio<br>
<br><br><div class="gmail_quote">2008/6/4 gabriel lima &lt;<a href="mailto:gabriellima333@hotmail.com">gabriellima333@hotmail.com</a>&gt;:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">




<div>
Oi pessoal tudo bem?<br><br>Bom, instalei o módulo Net::FTP para baixar uma lista de arquivos,<br>de um FTP. Mas em algum momento, quando o script está baixando um <br>dos arquivos, ocorre um erro fazendo com o script não responda mais.<br>
<br>São mais ou menos 300 arquivos, com alguns KB cada. Os arquivos<br>estão nomeados da seguinte forma:<br><br>pub030604.zip<br>pub030605.zip<br>pub030606.zip<br>.<br>.<br>.<br>pub0306300.zip<br><br>Eu acho que vendo o código e postando o erro vocês podem me ajudar...<br>
<br>#!/usr/bin/perl<br><br>&nbsp; use strict;<br>&nbsp; use Net::FTP;<br><br>&nbsp; my $dir = &quot;/DIRETORIO&quot;;<br>&nbsp; <br>&nbsp; my $ftp = Net::FTP-&gt;new(&quot;ftp.empressa.aqui&quot;, Debug =&gt; 1)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; or die &quot;Erro: &quot;, $ftp-&gt;message;<br>
<br>&nbsp; $ftp-&gt;login(&quot;$ARGV[0]&quot;, &quot;$ARGV[1]&quot;)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; or die &quot;Erro: &quot;, $ftp-&gt;message;<br><br>&nbsp; my @files = $ftp-&gt;dir;<br><br>&nbsp; foreach(@files){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $_ =~ s/.*\s{1,}//g;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; next if /ANTERIOR/;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; print &quot;$_\n&quot;;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $ftp-&gt;get($_) or die &quot;Erro: &quot;, $ftp-&gt;message;<br>&nbsp; }<br><br>&nbsp; $ftp-&gt;quit;<br><br>E o erro que ocorre em um dos arquivos:<br>----------------------------------------------------------------------<br>
&lt;&lt;&lt; 200 PORT command successful. Consider using PASV<br>&gt;&gt;&gt; RETR pub030620.zip<br>----------------------------------------------------------------------<br><br>Eu até consigo baixar alguns arquivos (100 aprox.), mas a lista completa<br>
não, o script trava ali. Não faço ideia do que está acontecendo. Se alguem<br>me ajudar eu agradeço.<br><br>E me desculpe pelo código, eu sei que está horrivel,<br>mas com o tempo eu prometo melhorar =P<br><br>Até mais pessoal!<br>
<br><br><hr>Instale a Barra de Ferramentas com Desktop Search e ganhe EMOTICONS para o Messenger! <a href="http://www.msn.com.br/emoticonpack" target="_blank">É GRÁTIS!</a></div>
<br>_______________________________________________<br>
Rio-pm mailing list<br>
<a href="mailto:Rio-pm@pm.org">Rio-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank">http://mail.pm.org/mailman/listinfo/rio-pm</a><br></blockquote></div><br>