Pelo que eu entendi o Mantovani estava generalizando o problema de paralelizar coisas, substituindo threads pelo AnyEvent. Eu só lembrei que compartilhar variáveis com o AnyEvent exige mais esforço do que com threads(até onde eu sei). Nesse caso eu estava sim me referindo ao fork_call do AnyEvent::Util. Eu tentei sem muito sucesso usar o SysV para resolver isso, mas tive vários problemas porque me faltam alguns conceitos do próprio SysV. Como eu não tive tempo de resolver isso, e não vi outra solução eu continuo dizendo que não rola compartilhar variáveis entre processos de maneira tranquila como quando se usa threads.
Cheers! 2011/10/6 Stanislaw Pusep <[email protected]> > Ué, que tipo de problemas? Você deve estar se referindo ao > AnyEvent::Util::fork_call(); mas aí é *OUTRA* história... Se for usar > AnyEvent para paralelizar I/O (afinal, AnyEvent serve primeiramente para > isso), jamais se esbarra nisso... Já para paralelizar processamento, a > situação mais comum é mandar lote de tranqueira para processar, fritar CPU e > retornar resultado. Ou seja: também não requer compartilhar variáveis, a > princípio. > > ABS() > > > > > 2011/10/6 Andre Carneiro <[email protected]> > >> Não, Mantovani. >> >> Quase tudo! Se você precisar compartilhar variáveis, terá problemas! >> >> Cheers! >> >> >> 2011/10/6 Daniel de Oliveira Mantovani < >> [email protected]> >> >>> Só mais uma coisa, >>> >>> 6º Se fosse *eu* abstrairia tudo o que você usou threads com Any::Event, >>> as pessoas geralmente não tem o compilador com a opção de threads porque >>> deixa o compilador mais lento[1] :S. Com Any::Event você faria o que você >>> fez mais sem usar threads, o Any::Event se viraria. Olha esse artigo, >>> http://sao-paulo.pm.org/equinocio/2011/set/13 >>> Mas assim, é só a minha opinião. >>> >>> [1] http://www.perl.com/pub/2002/09/04/threads.html >>> >>> >>> >>> 2011/10/6 Daniel de Oliveira Mantovani < >>> [email protected]> >>> >>>> s/bani/bati/; >>>> >>>> >>>> 2011/10/6 Daniel de Oliveira Mantovani < >>>> [email protected]> >>>> >>>>> Parabéns \o! >>>>> >>>>> Li o seu código fonte e tenho algumas dicas essenciais para o seu >>>>> software, >>>>> >>>>> 1º Não use expressões regulares para lidar com o html. >>>>> https://metacpan.org/module/HTML::TreeBuilder::XPath >>>>> Você pode reescrever todo o seu Uniscan::Crawler usando 90% do código >>>>> que você usou. ;) >>>>> >>>>> 2º Use o https://metacpan.org/module/Config::Any para parsear o seu >>>>> arquivo de configuração. >>>>> >>>>> 3º Você escreveu a classe Uniscan::HTTP atoa, >>>>> https://metacpan.org/module/WWW::Mechanize >>>>> >>>>> 4º Você está usando Moose nas classes, evite usar variáveis globais >>>>> para instanciar classes, crie atributos. Olha um exemplo >>>>> no Unican::Stress: >>>>> our $func = Uniscan::Functions->new(); >>>>> has 'functions' => (is => 'ro', isa => 'Object', default => sub { >>>>> Uniscan::Functions->new }); >>>>> >>>>> 5º No seu script uniscan.pl você tem uma função chamada "background", >>>>> você ignore alguns sinais e faz um fork da aplicação deixando deixando a >>>>> criança viva e matando o pai. >>>>> Acho que você deveria dar uma lida no meu artigo sobre daemons, >>>>> http://sao-paulo.pm.org/artigo/2011/DivertindosecomDaemons >>>>> Parabéns de ter setado o sinal CHLD para "null" mas você sabe o porque >>>>> disso ? >>>>> http://www.win.tue.nl/~aeb/linux/lk/lk-5.html ( 5.5 Voodoo: wait and >>>>> SIGCHLD ) >>>>> >>>>> Pelo que eu bani o olho foi isso que eu encontrei, boa sorte! >>>>> >>>>> []'s! >>>>> >>>>> 2011/10/5 Junior Moraes <[email protected]> >>>>> > >>>>> > Fala, poerschke! Você por aqui hahahah. >>>>> > >>>>> > O projeto evoluiu muito desde que comentei sobre ele lá no >>>>> forum-invaders. Parabéns! :-) >>>>> > Coloca no github pra galera poder forkar. >>>>> > >>>>> > Mais uma vez, parabéns. Evoluiu muito mesmo desde a última vez que o >>>>> vi! >>>>> > >>>>> > []'s >>>>> > >>>>> > >>>>> > Em 5 de outubro de 2011 11:02, Thiago Rondon <[email protected]> >>>>> escreveu: >>>>> >> >>>>> >> On Wed, Oct 05, 2011 at 11:04:37AM -0300, Douglas Poerschke Rocha >>>>> wrote: >>>>> >> > Ola pessoal, >>>>> >> > Em junho deste ano criei o meu primeiro projeto de software >>>>> livre >>>>> >> > (Uniscan), o Uniscan e um scanner de vulnerabilidades >>>>> multi-threaded >>>>> >> > escrito em Perl para ser executado a partir do linux(nao testei >>>>> em outras >>>>> >> > plataformas). >>>>> >> > Estou enviando este e-mail para que voces possam conhecer, dar >>>>> dicas e >>>>> >> > sugestoes para melhoria da ferramenta. >>>>> >> > Segue o link para o projeto: www.uniscan.com.br >>>>> >> >>>>> >> Parabéns Douglas ! >>>>> >> >>>>> >> Você não quer participar do YAPC::Brasil este ano ? Submeta uma >>>>> palestra >>>>> >> sobre o teu produto, seria muito bacana de aprendermos mais sobre >>>>> ele lá! >>>>> >> >>>>> >> http://www.yapcbrasil.org.br/2011/ >>>>> >> >>>>> >> abs! >>>>> >> -Thiago Rondon >>>>> >> >>>>> >> =begin disclaimer >>>>> >> Sao Paulo Perl Mongers: http://sao-paulo.pm.org/ >>>>> >> SaoPaulo-pm mailing list: [email protected] >>>>> >> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm> >>>>> >> =end disclaimer >>>>> > >>>>> > >>>>> > >>>>> > -- >>>>> > Junior "fvox" Moraes. >>>>> > >>>>> > >>>>> > >>>>> > >>>>> > =begin disclaimer >>>>> > Sao Paulo Perl Mongers: http://sao-paulo.pm.org/ >>>>> > SaoPaulo-pm mailing list: [email protected] >>>>> > L<http://mail.pm.org/mailman/listinfo/saopaulo-pm> >>>>> > =end disclaimer >>>>> > >>>>> >>>>> >>>>> >>>>> -- >>>>> http://noticiasglobal.com >>>>> >>>>> "If you’ve never written anything thoughtful, then you’ve never had any >>>>> difficult, important, or interesting thoughts. That’s the secret: people >>>>> who >>>>> don’t write, are people who don’t think." >>>>> >>>> >>>> >>>> >>>> -- >>>> http://noticiasglobal.com >>>> >>>> "If you’ve never written anything thoughtful, then you’ve never had any >>>> difficult, important, or interesting thoughts. That’s the secret: people >>>> who >>>> don’t write, are people who don’t think." >>>> >>> >>> >>> >>> -- >>> http://noticiasglobal.com >>> >>> "If you’ve never written anything thoughtful, then you’ve never had any >>> difficult, important, or interesting thoughts. That’s the secret: people who >>> don’t write, are people who don’t think." >>> >>> =begin disclaimer >>> Sao Paulo Perl Mongers: http://sao-paulo.pm.org/ >>> SaoPaulo-pm mailing list: [email protected] >>> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm> >>> =end disclaimer >>> >>> >> >> >> -- >> André Garcia Carneiro >> Analista/Desenvolvedor Perl >> (11)82907780 >> >> =begin disclaimer >> Sao Paulo Perl Mongers: http://sao-paulo.pm.org/ >> SaoPaulo-pm mailing list: [email protected] >> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm> >> =end disclaimer >> >> > > =begin disclaimer > Sao Paulo Perl Mongers: http://sao-paulo.pm.org/ > SaoPaulo-pm mailing list: [email protected] > L<http://mail.pm.org/mailman/listinfo/saopaulo-pm> > =end disclaimer > > -- André Garcia Carneiro Analista/Desenvolvedor Perl (11)82907780
=begin disclaimer Sao Paulo Perl Mongers: http://sao-paulo.pm.org/ SaoPaulo-pm mailing list: [email protected] L<http://mail.pm.org/mailman/listinfo/saopaulo-pm> =end disclaimer
