cURL -> Tempo exagerado de computação

63 views
Skip to first unread message

Guilherme Raymo Longo

unread,
Dec 14, 2009, 9:32:55 AM12/14/09
to php-b...@googlegroups.com

Boa tarde Srs.

Estou desenvolvendo uma ferramenta de busca personalizada para um cliente utilizando a biblioteca cURL e estou preocupado com o tempo em que o algoritimo leva para retornar o resultado.
O programa funciona da seguinte maneira:
1º - Primeiro o usuário deve passar uma URL. Depois o programa captura todos os links dessa página inicial e salva em um vetor. A partir desse vetor, ela procura links dentro de cada url salva nesse vetor.. e assim por diante. A idéia é que o programa percorra o site inteiro até o fim da estrutura de diretório através dos links.
Alguns mecanismos foram utilizados como filtragem dos links para que não seja capturado links de domínios diferentes e a verificação dos links para que não seja capturado links repetidos (Para cada página nova que o programa vai capturar os links, ele verifica os novos links com um vetor que contem todos os links).

Obs. O programa segue em anexo.
strpos.php -> Tad do Crawler
pegatexto.php -> Implementação do programa.
 
Alguém já implementou algo parecido ou teria alguma idéia para diminuir o tempo de computação?
Muito obrigado.
 
Atenciosamente
Guilherme Longo
pegatexto.php
strpos.php

Sérgio Ricardo Machado Lemos

unread,
Dec 14, 2009, 9:49:32 AM12/14/09
to php-b...@googlegroups.com

Se for em relação ao tempo de execução em php você pode utilizar para aumentar o set_time_limit ([tempo]); com ele você incrementa o tempo padrado do PHP de 30s para quantos você quiser.

 

Atc,

SL_sombra_s

Sérgio Ricardo Machado Lemos

8688391999

skype:sergiolemos.net

http://sergiolemos.net

con...@sergiolemos.net

--

Você está recebendo esta mensagem porque se inscreveu no grupo "php-brasil" dos Grupos do Google.
Para postar neste grupo, envie um e-mail para php-b...@googlegroups.com.
Para cancelar a inscrição nesse grupo, envie um e-mail para php-brasil+...@googlegroups.com.
Para obter mais opções, visite esse grupo em http://groups.google.com/group/php-brasil?hl=pt-BR.

image001.jpg

Guilherme Raymo Longo

unread,
Dec 14, 2009, 10:08:57 AM12/14/09
to php-b...@googlegroups.com
Sérgio, esse recurso apenas me livra de um erro por limite de tempo.
Me desculpe se eu não fui muito claro mas a dúvida é quanto a implementação do algoritimo. Gostaria de uma opinião dos mais expêrientes se teria alguam forma de otimizar meu código.
 
Se eu procuro em até 2 níveis o tempo é aceitável, mas acima disso como eu estou utilizando FOR dentro de FOR dentro de FOR, nem sei se o grau de complexidade desse algoritimo nem quadrático é mais...
 
Você deu uma olhada do código???
Muito obrigado pela dica, se eu não conseguir otimizar o código vai ter que ser alterando o tempo limite mesmo.

 
2009/12/14 Sérgio Ricardo Machado Lemos <con...@sergiolemos.net>
image001.jpg

Ninetails - Carlos Kazuo

unread,
Dec 14, 2009, 11:53:57 AM12/14/09
to php-b...@googlegroups.com
eu acho que de qualquer jeito (ou qualquer implementação) direta do código ficaria um tanto lenta...

tenta ver se há alternativas, como usar o google search ou ver se dá pra tentar implementar em YQL se forem páginas públicas...


caso não seja possível, tenta ver fazer algum servidor que gerencie filas de requisições e use cache pra evitar que faça a requisição desnecessariamente (tipo, uma mesma requisição em um curto espaço de tempo)

penso em algo parecido com o browsershots[1]... vc faz uma requisição e tua requisição vai pra fila... enquanto um (ou mais) servidores vão fazendo o trabalho, vc fica com uma tela de "espere ou pegue essa url e acesse depois" e aos poucos vai aparecendo um 'preview'



tipo só não esqueça de que este teu "for" tem que ter um fim... algo do tipo acessar 100 páginas do mesmo domínio ou até que todas as URI sejam idexadas (pra n entrar em loop infinito e travar a fila bla bla bla) mas acho que nisto já terias pensado...


[1] http://browsershots.org/

--------------------------------------------------
/**
* @author Ninetails - Carlos Kazuo <ninetails.nine [at] gmail.com>
*/


2009/12/14 Guilherme Raymo Longo <grlongo...@gmail.com>
image001.jpg

Guilherme Longo

unread,
Dec 14, 2009, 12:29:04 PM12/14/09
to php-brasil
Então Carlos,

Eu fiz esse tratamento para o FOR não entrar em loop infinito sim.
O script está gastando 30s a cada 100 links buscados.
Até agora o máximo que eu consegui foi 3000 links o que está
gastantando pouco menos de 20 minutos.

Eu vou procurar outra solução...
Muito obrigado a todos.


On 14 dez, 14:53, Ninetails - Carlos Kazuo <ninetails.n...@gmail.com>
wrote:
> eu acho que de qualquer jeito (ou qualquer implementação) direta do código
> ficaria um tanto lenta...
>
> tenta ver se há alternativas, como usar o google search ou ver se dá pra
> tentar implementar em YQL se forem páginas públicas...
>
> caso não seja possível, tenta ver fazer algum servidor que gerencie filas de
> requisições e use cache pra evitar que faça a requisição desnecessariamente
> (tipo, uma mesma requisição em um curto espaço de tempo)
>
> penso em algo parecido com o browsershots[1]... vc faz uma requisição e tua
> requisição vai pra fila... enquanto um (ou mais) servidores vão fazendo o
> trabalho, vc fica com uma tela de "espere ou pegue essa url e acesse depois"
> e aos poucos vai aparecendo um 'preview'
>
> tipo só não esqueça de que este teu "for" tem que ter um fim... algo do tipo
> acessar 100 páginas do mesmo domínio ou até que todas as URI sejam idexadas
> (pra n entrar em loop infinito e travar a fila bla bla bla) mas acho que
> nisto já terias pensado...
>
> [1]http://browsershots.org/
>
> --------------------------------------------------
> /**
> * @author Ninetails - Carlos Kazuo <ninetails.nine [at] gmail.com>
> */
>
> 2009/12/14 Guilherme Raymo Longo <grlongo.irel...@gmail.com>
>
>
>
> > Sérgio, esse recurso apenas me livra de um erro por limite de tempo.
> > Me desculpe se eu não fui muito claro mas a dúvida é quanto a implementação
> > do algoritimo. Gostaria de uma opinião dos mais expêrientes se teria alguam
> > forma de otimizar meu código.
>
> > Se eu procuro em até 2 níveis o tempo é aceitável, mas acima disso como eu
> > estou utilizando FOR dentro de FOR dentro de FOR, nem sei se o grau de
> > complexidade desse algoritimo nem quadrático é mais...
>
> > Você deu uma olhada do código???
> > Muito obrigado pela dica, se eu não conseguir otimizar o código vai ter que
> > ser alterando o tempo limite mesmo.
>
> > 2009/12/14 Sérgio Ricardo Machado Lemos <cont...@sergiolemos.net>
>
> >>  Se for em relação ao tempo de execução em php você pode utilizar para
> >> aumentar o set_time_limit ([tempo]); com ele você incrementa o tempo padrado
> >> do PHP de 30s para quantos você quiser.
>
> >> Atc,
>
> >> [image: SL_sombra_s]
>
> >> *Sérgio** **Ricardo Machado** **Lemos***
>
> >> 8688391999
>
> >> skype:sergiolemos.net
>
> >>http://sergiolemos.net
>
> >> cont...@sergiolemos.net
>
> >> *De:* php-b...@googlegroups.com [mailto:php-b...@googlegroups.com] *Em
> >> nome de *Guilherme Raymo Longo
> >> *Enviada em:* segunda-feira, 14 de dezembro de 2009 11:33
> >> *Para:* php-b...@googlegroups.com
> >> *Assunto:* [PHP-BRASIL - 2.0] cURL -> Tempo exagerado de computação
> >> php-brasil+...@googlegroups.com<php-brasil%2Bunsubscribe@googlegrou ps.com>
> >> .
> >> Para obter mais opções, visite esse grupo em
> >>http://groups.google.com/group/php-brasil?hl=pt-BR.
>
> >> --
> >> Você está recebendo esta mensagem porque se inscreveu no grupo
> >> "php-brasil" dos Grupos do Google.
> >> Para postar neste grupo, envie um e-mail para php-b...@googlegroups.com
> >> .
> >> Para cancelar a inscrição nesse grupo, envie um e-mail para
> >> php-brasil+...@googlegroups.com<php-brasil%2Bunsubscribe@googlegrou ps.com>
> >> .
> >> Para obter mais opções, visite esse grupo em
> >>http://groups.google.com/group/php-brasil?hl=pt-BR.
>
> >  --
> > Você está recebendo esta mensagem porque se inscreveu no grupo "php-brasil"
> > dos Grupos do Google.
> > Para postar neste grupo, envie um e-mail para php-b...@googlegroups.com.
> > Para cancelar a inscrição nesse grupo, envie um e-mail para
> > php-brasil+...@googlegroups.com<php-brasil%2Bunsubscribe@googlegrou ps.com>
> > .
> > Para obter mais opções, visite esse grupo em
> >http://groups.google.com/group/php-brasil?hl=pt-BR.
>
>  image001.jpg
> 1KExibirDownload

Claudson Oliveira

unread,
Dec 14, 2009, 12:47:18 PM12/14/09
to php-b...@googlegroups.com
Bom, serei sincero, nunca trabalhei com a SPL, mas sei que existe
algo como um ArrayObject
Talvez ele seja similar a um ArrayList do java e seja mais fácil manipular
seus dados assim.

Desculpe pelo chute.
Solicionando o problema não esqueca de postar
 ;D

--
Claudson Oliveira
Graduando em Ciência da computação - UFJF
Desenvolvedor web - www.grupoemidia.com

Anderson Fraga

unread,
Dec 14, 2009, 1:00:18 PM12/14/09
to php-b...@googlegroups.com
E se, ao inv�s de colocar um FOR dentro de outro, n�o use um primeiro for,
dai nele tu faz a busca de primeiro n�vel.
Dai, em outro FOR (n�o dentro do anterior), busque pelos links que foram
armazenados na busca anterior.

E assim sucessivamente.
N�o esquecendo de fechar toda conex�o CURL que tu fizer ap�s cada FOR.

Acredito que, assim, evitar� sobrecarga de diversas sess�es CURL abertas.


Sds,
Anderson Fraga
www.andersonfraga.net
con...@andersonfraga.net
----- Original Message -----
From: "Guilherme Longo" <grlongo...@gmail.com>
To: "php-brasil" <php-b...@googlegroups.com>
Sent: Monday, December 14, 2009 3:29 PM
Subject: [PHP-BRASIL - 2.0] Re: cURL -> Tempo exagerado de computa��o


Ent�o Carlos,

Eu fiz esse tratamento para o FOR n�o entrar em loop infinito sim.
O script est� gastando 30s a cada 100 links buscados.
At� agora o m�ximo que eu consegui foi 3000 links o que est�
gastantando pouco menos de 20 minutos.

Eu vou procurar outra solu��o...
Muito obrigado a todos.


On 14 dez, 14:53, Ninetails - Carlos Kazuo <ninetails.n...@gmail.com>
wrote:
> eu acho que de qualquer jeito (ou qualquer implementa��o) direta do c�digo
> ficaria um tanto lenta...
>
> tenta ver se h� alternativas, como usar o google search ou ver se d� pra
> tentar implementar em YQL se forem p�ginas p�blicas...
>
> caso n�o seja poss�vel, tenta ver fazer algum servidor que gerencie filas
> de
> requisi��es e use cache pra evitar que fa�a a requisi��o
> desnecessariamente
> (tipo, uma mesma requisi��o em um curto espa�o de tempo)
>
> penso em algo parecido com o browsershots[1]... vc faz uma requisi��o e
> tua
> requisi��o vai pra fila... enquanto um (ou mais) servidores v�o fazendo o
> trabalho, vc fica com uma tela de "espere ou pegue essa url e acesse
> depois"
> e aos poucos vai aparecendo um 'preview'
>
> tipo s� n�o esque�a de que este teu "for" tem que ter um fim... algo do
> tipo
> acessar 100 p�ginas do mesmo dom�nio ou at� que todas as URI sejam
> idexadas
> (pra n entrar em loop infinito e travar a fila bla bla bla) mas acho que
> nisto j� terias pensado...
>
> [1]http://browsershots.org/
>
> --------------------------------------------------
> /**
> * @author Ninetails - Carlos Kazuo <ninetails.nine [at] gmail.com>
> */
>
> 2009/12/14 Guilherme Raymo Longo <grlongo.irel...@gmail.com>
>
>
>
> > S�rgio, esse recurso apenas me livra de um erro por limite de tempo.
> > Me desculpe se eu n�o fui muito claro mas a d�vida � quanto a
> > implementa��o
> > do algoritimo. Gostaria de uma opini�o dos mais exp�rientes se teria
> > alguam
> > forma de otimizar meu c�digo.
>
> > Se eu procuro em at� 2 n�veis o tempo � aceit�vel, mas acima disso como
> > eu
> > estou utilizando FOR dentro de FOR dentro de FOR, nem sei se o grau de
> > complexidade desse algoritimo nem quadr�tico � mais...
>
> > Voc� deu uma olhada do c�digo???
> > Muito obrigado pela dica, se eu n�o conseguir otimizar o c�digo vai ter
> > que
> > ser alterando o tempo limite mesmo.
>
> > 2009/12/14 S�rgio Ricardo Machado Lemos <cont...@sergiolemos.net>
>
> >> Se for em rela��o ao tempo de execu��o em php voc� pode utilizar para
> >> aumentar o set_time_limit ([tempo]); com ele voc� incrementa o tempo
> >> padrado
> >> do PHP de 30s para quantos voc� quiser.
>
> >> Atc,
>
> >> [image: SL_sombra_s]
>
> >> *S�rgio** **Ricardo Machado** **Lemos***
>
> >> 8688391999
>
> >> skype:sergiolemos.net
>
> >>http://sergiolemos.net
>
> >> cont...@sergiolemos.net
>
> >> *De:* php-b...@googlegroups.com [mailto:php-b...@googlegroups.com]
> >> *Em
> >> nome de *Guilherme Raymo Longo
> >> *Enviada em:* segunda-feira, 14 de dezembro de 2009 11:33
> >> *Para:* php-b...@googlegroups.com
> >> *Assunto:* [PHP-BRASIL - 2.0] cURL -> Tempo exagerado de computa��o
>
> >> Boa tarde Srs.
>
> >> Estou desenvolvendo uma ferramenta de busca personalizada para um
> >> cliente
> >> utilizando a biblioteca cURL e estou preocupado com o tempo em que o
> >> algoritimo leva para retornar o resultado.
> >> O programa funciona da seguinte maneira:
> >> 1� - Primeiro o usu�rio deve passar uma URL. Depois o programa captura
> >> todos os links dessa p�gina inicial e salva em um vetor. A partir desse
> >> vetor, ela procura links dentro de cada url salva nesse vetor.. e assim
> >> por
> >> diante. A id�ia � que o programa percorra o site inteiro at� o fim da
> >> estrutura de diret�rio atrav�s dos links.
> >> Alguns mecanismos foram utilizados como filtragem dos links para que
> >> n�o
> >> seja capturado links de dom�nios diferentes e a verifica��o dos links
> >> para
> >> que n�o seja capturado links repetidos (Para cada p�gina nova que o
> >> programa
> >> vai capturar os links, ele verifica os novos links com um vetor que
> >> contem
> >> todos os links).
>
> >> Obs. O programa segue em anexo.
>
> >> strpos.php -> Tad do Crawler
>
> >> pegatexto.php -> Implementa��o do programa.
>
> >> Algu�m j� implementou algo parecido ou teria alguma id�ia para diminuir
> >> o
> >> tempo de computa��o?
> >> Muito obrigado.
>
> >> Atenciosamente
>
> >> Guilherme Longo
>
> >> --
>
> >> Voc� est� recebendo esta mensagem porque se inscreveu no grupo
> >> "php-brasil" dos Grupos do Google.
> >> Para postar neste grupo, envie um e-mail para
> >> php-b...@googlegroups.com
> >> .
> >> Para cancelar a inscri��o nesse grupo, envie um e-mail para
> >> php-brasil+...@googlegroups.com<php-brasil%2Bunsubscribe@googlegrou
> >> ps.com>
> >> .
> >> Para obter mais op��es, visite esse grupo em
> >>http://groups.google.com/group/php-brasil?hl=pt-BR.
>
> >> --
> >> Voc� est� recebendo esta mensagem porque se inscreveu no grupo
> >> "php-brasil" dos Grupos do Google.
> >> Para postar neste grupo, envie um e-mail para
> >> php-b...@googlegroups.com
> >> .
> >> Para cancelar a inscri��o nesse grupo, envie um e-mail para
> >> php-brasil+...@googlegroups.com<php-brasil%2Bunsubscribe@googlegrou
> >> ps.com>
> >> .
> >> Para obter mais op��es, visite esse grupo em
> >>http://groups.google.com/group/php-brasil?hl=pt-BR.
>
> > --
> > Voc� est� recebendo esta mensagem porque se inscreveu no grupo
> > "php-brasil"
> > dos Grupos do Google.
> > Para postar neste grupo, envie um e-mail para
> > php-b...@googlegroups.com.
> > Para cancelar a inscri��o nesse grupo, envie um e-mail para
> > php-brasil+...@googlegroups.com<php-brasil%2Bunsubscribe@googlegrou
> > ps.com>
> > .
> > Para obter mais op��es, visite esse grupo em
> >http://groups.google.com/group/php-brasil?hl=pt-BR.
>
> image001.jpg
> 1KExibirDownload

--

Voc� est� recebendo esta mensagem porque se inscreveu no grupo "php-brasil"
dos Grupos do Google.
Para postar neste grupo, envie um e-mail para php-b...@googlegroups.com.
Para cancelar a inscri��o nesse grupo, envie um e-mail para
php-brasil+...@googlegroups.com.
Para obter mais op��es, visite esse grupo em
http://groups.google.com/group/php-brasil?hl=pt-BR.


Fagner Oliveira

unread,
Dec 24, 2009, 5:30:40 PM12/24/09
to php-b...@googlegroups.com
Não dá pra fazer isso recursivo não ? Só uma idéia... não sei como fica a complexidade de consumo de memória neste caso.

Abçs

2009/12/14 Anderson Fraga <gro...@andersonfraga.net>
E se, ao invés de colocar um FOR dentro de outro, não use um primeiro for,
dai nele tu faz a busca de primeiro nível.
Dai, em outro FOR (não dentro do anterior), busque pelos links que foram

armazenados na busca anterior.

E assim sucessivamente.
Não esquecendo de fechar toda conexão CURL que tu fizer após cada FOR.

Acredito que, assim, evitará sobrecarga de diversas sessões CURL abertas.
----- Original Message -----
From: "Guilherme Longo" <grlongo...@gmail.com>
To: "php-brasil" <php-b...@googlegroups.com>
Sent: Monday, December 14, 2009 3:29 PM
Subject: [PHP-BRASIL - 2.0] Re: cURL -> Tempo exagerado de computação


Então Carlos,

Eu fiz esse tratamento para o FOR não entrar em loop infinito sim.
O script está gastando 30s a cada 100 links buscados.
Até agora o máximo que eu consegui foi 3000 links o que está

gastantando pouco menos de 20 minutos.

Eu vou procurar outra solução...

Muito obrigado a todos.


On 14 dez, 14:53, Ninetails - Carlos Kazuo <ninetails.n...@gmail.com>
wrote:
> eu acho que de qualquer jeito (ou qualquer implementação) direta do código
> ficaria um tanto lenta...
>
> tenta ver se há alternativas, como usar o google search ou ver se dá pra

> tentar implementar em YQL se forem páginas públicas...
>
> caso não seja possível, tenta ver fazer algum servidor que gerencie filas
> de

> requisições e use cache pra evitar que faça a requisição
> desnecessariamente
> (tipo, uma mesma requisição em um curto espaço de tempo)
>
> penso em algo parecido com o browsershots[1]... vc faz uma requisição e
> tua
> requisição vai pra fila... enquanto um (ou mais) servidores vão fazendo o

> trabalho, vc fica com uma tela de "espere ou pegue essa url e acesse
> depois"
> e aos poucos vai aparecendo um 'preview'
>
> tipo só não esqueça de que este teu "for" tem que ter um fim... algo do
> tipo
> acessar 100 páginas do mesmo domínio ou até que todas as URI sejam

> idexadas
> (pra n entrar em loop infinito e travar a fila bla bla bla) mas acho que
> nisto já terias pensado...

>
> [1]http://browsershots.org/
>
> --------------------------------------------------
> /**
> * @author Ninetails - Carlos Kazuo <ninetails.nine [at] gmail.com>
> */
>
> 2009/12/14 Guilherme Raymo Longo <grlongo.irel...@gmail.com>
>
>
>
> > Sérgio, esse recurso apenas me livra de um erro por limite de tempo.

> > Me desculpe se eu não fui muito claro mas a dúvida é quanto a
> > implementação
> > do algoritimo. Gostaria de uma opinião dos mais expêrientes se teria
> > alguam

> > forma de otimizar meu código.
>
> > Se eu procuro em até 2 níveis o tempo é aceitável, mas acima disso como

> > eu
> > estou utilizando FOR dentro de FOR dentro de FOR, nem sei se o grau de
> > complexidade desse algoritimo nem quadrático é mais...
>
> > Você deu uma olhada do código???
> > Muito obrigado pela dica, se eu não conseguir otimizar o código vai ter

> > que
> > ser alterando o tempo limite mesmo.
>
> > 2009/12/14 Sérgio Ricardo Machado Lemos <cont...@sergiolemos.net>
>
> >> Se for em relação ao tempo de execução em php você pode utilizar para
> >> aumentar o set_time_limit ([tempo]); com ele você incrementa o tempo
> >> padrado

> >> do PHP de 30s para quantos você quiser.
>
> >> Atc,
>
> >> [image: SL_sombra_s]
>
> >> *Sérgio** **Ricardo Machado** **Lemos***

>
> >> 8688391999
>
> >> skype:sergiolemos.net
>
> >>http://sergiolemos.net
>
> >> cont...@sergiolemos.net
>
> >> *De:* php-b...@googlegroups.com [mailto:php-b...@googlegroups.com]
> >> *Em
> >> nome de *Guilherme Raymo Longo
> >> *Enviada em:* segunda-feira, 14 de dezembro de 2009 11:33
> >> *Para:* php-b...@googlegroups.com
> >> *Assunto:* [PHP-BRASIL - 2.0] cURL -> Tempo exagerado de computação

>
> >> Boa tarde Srs.
>
> >> Estou desenvolvendo uma ferramenta de busca personalizada para um
> >> cliente
> >> utilizando a biblioteca cURL e estou preocupado com o tempo em que o
> >> algoritimo leva para retornar o resultado.
> >> O programa funciona da seguinte maneira:
> >> 1º - Primeiro o usuário deve passar uma URL. Depois o programa captura
> >> todos os links dessa página inicial e salva em um vetor. A partir desse

> >> vetor, ela procura links dentro de cada url salva nesse vetor.. e assim
> >> por
> >> diante. A idéia é que o programa percorra o site inteiro até o fim da
> >> estrutura de diretório através dos links.

> >> Alguns mecanismos foram utilizados como filtragem dos links para que
> >> não
> >> seja capturado links de domínios diferentes e a verificação dos links
> >> para
> >> que não seja capturado links repetidos (Para cada página nova que o

> >> programa
> >> vai capturar os links, ele verifica os novos links com um vetor que
> >> contem
> >> todos os links).
>
> >> Obs. O programa segue em anexo.
>
> >> strpos.php -> Tad do Crawler
>
> >> pegatexto.php -> Implementação do programa.
>
> >> Alguém já implementou algo parecido ou teria alguma idéia para diminuir
> >> o
> >> tempo de computação?

> >> Muito obrigado.
>
> >> Atenciosamente
>
> >> Guilherme Longo
>
> >> --
>
> >> Você está recebendo esta mensagem porque se inscreveu no grupo

> >> "php-brasil" dos Grupos do Google.
> >> Para postar neste grupo, envie um e-mail para
> >> php-b...@googlegroups.com
> >> .
> >> Para cancelar a inscrição nesse grupo, envie um e-mail para
> >> php-brasil+...@googlegroups.com<php-brasil%2Bunsubscribe@googlegrou
> >> ps.com>
> >> .
> >> Para obter mais opções, visite esse grupo em
> >>http://groups.google.com/group/php-brasil?hl=pt-BR.
>
> >> --
> >> Você está recebendo esta mensagem porque se inscreveu no grupo

> >> "php-brasil" dos Grupos do Google.
> >> Para postar neste grupo, envie um e-mail para
> >> php-b...@googlegroups.com
> >> .
> >> Para cancelar a inscrição nesse grupo, envie um e-mail para
> >> php-brasil+...@googlegroups.com<php-brasil%2Bunsubscribe@googlegrou
> >> ps.com>
> >> .
> >> Para obter mais opções, visite esse grupo em
> >>http://groups.google.com/group/php-brasil?hl=pt-BR.
>
> > --
> > Você está recebendo esta mensagem porque se inscreveu no grupo

> > "php-brasil"
> > dos Grupos do Google.
> > Para postar neste grupo, envie um e-mail para
> > php-b...@googlegroups.com.
> > Para cancelar a inscrição nesse grupo, envie um e-mail para
> > php-brasil+...@googlegroups.com<php-brasil%2Bunsubscribe@googlegrou
> > ps.com>
> > .
> > Para obter mais opções, visite esse grupo em

> >http://groups.google.com/group/php-brasil?hl=pt-BR.
>
> image001.jpg
> 1KExibirDownload

--

Você está recebendo esta mensagem porque se inscreveu no grupo "php-brasil"

dos Grupos do Google.
Para postar neste grupo, envie um e-mail para php-b...@googlegroups.com.
Para cancelar a inscrição nesse grupo, envie um e-mail para
php-brasil+...@googlegroups.com.
Para obter mais opções, visite esse grupo em
http://groups.google.com/group/php-brasil?hl=pt-BR.


--

Você está recebendo esta mensagem porque se inscreveu no grupo "php-brasil" dos Grupos do Google.

Para postar neste grupo, envie um e-mail para php-b...@googlegroups.com.
Para cancelar a inscrição nesse grupo, envie um e-mail para php-brasil+...@googlegroups.com.
Para obter mais opções, visite esse grupo em http://groups.google.com/group/php-brasil?hl=pt-BR.





--
Fagner Oliveira

Tiago Natel de Moura

unread,
Dec 24, 2009, 6:18:21 PM12/24/09
to php-b...@googlegroups.com
Você deve usar alguma das alternativas de PHP multithreading para essa
tarefa. Não há como obter uma eficiência em seu algoritmo se voce
tiver o delay de cada url, nada adiantará.
A solução é "dividir o processamento" das urls com um "algoritmo
eficiênte", mas sem a primeira condição é inútil.

Não vi seu código, mas o próprio curl possui um recurso para
multithreading. De uma googlada sobre "PHP Multithreading with Curl".
Você também pode usar pcntl_fork() para criar um processo filho para
cada url a ser processada, mas pra isso vai precisar de uma extensão
de cache, como APC ou memcache, por que os processos criados não são
threads, portanto não poderão compartilhar a informação. Mas voce pode
simular threads com cache.

Feliz Natal.
:)

--
Tiago Natel de Moura
http://blog.tiagomoura-design.com.br

Reply all
Reply to author
Forward
0 new messages