[Cascavel-pm] IPC::Open3 comes to the rescue! (Was: Re: Print Loading ao executar system)

Alceu Rodrigues de Freitas Junior glasswalk3r em yahoo.com.br
Sábado Dezembro 13 11:31:27 PST 2008


breno escreveu:
> 2008/12/13 Alceu Rodrigues de Freitas Junior <glasswalk3r em yahoo.com.br>:
>> Esses dias eu vi no Calendário do Perl (desculpem pela falta de referências)
>> um módulo chamado IPC::Open3::Poll ou algo assim. Faz a mesma coisa que o
>> IPC::Open3 mas faz leitura assíncrona dos dados (o que talvez seja muito
>> mais sofisticado que a Patty precisa).
>>
> 
> Seria o Parallel::Jobs?
> 
> http://www.perladvent.org/2007/2/
> http://search.cpan.org/perldoc?Parallel::Jobs

Não. Eu deixei de ser preguiçoso e procurei direito:
http://perladvent.pm.org/2008/8/

O nome do módulo é IPC::Filter.

> 
> O Cometd (http://code.google.com/p/cometd/) aparentemente funciona bem com Perl:
> 
> "Cometd is a scalable HTTP-based event routing bus that uses a push
> technology pattern known as Comet. Currently there are java, perl and
> python version in the works. Other languages are planned, including
> ruby on rails, and php."
> 
> E, no site oficial deles (cometd.com), o primeiro link deles depois de
> "documentação" é esse:
> 
> irc.perl.org/#cometd
>     IRC Channel for general discussion of cometd
> 
> Ou seja, acho que suporte ao Perl não é problema ;-)

Eu não achei mais nada além disso. O projeto não tem website, não tem
nada. O que encontrei para download é somente código Java.

> De qq forma, o Perlbal (http://www.danga.com/perlbal/) parece ser
> bastante usado. De repente o Eden ou outra pessoa pode dar mais
> informações sobre ele e sua (eventual) adaptabilidade.

Ao que parece eles estão tentando adaptar o Perlbal para fazer esse
trabalho.

Para quem não sabe, o Cometd permite que o servidor envie dados para o
cliente (Ajax) sem que esse precise ficar fazendo chamadas de tempos em
tempos. O servidor mantêm um canal aberto com o usuário, que recebe
essas informações conforme necessário.

O problema de fazer isso é que o servidor fica com um processo "preso" a
esse cliente Ajax... então se você tem conexões demais, acaba com o
servidor.

O Juggernaut lida isso usando E/S assíncrona... o Cometd tem que usar
algo com o Grizzly (se é que escrevi direito) para não ter problemas de E/S.

[]'s
Alceu


Mais detalhes sobre a lista de discussão Cascavel-pm