[SP-pm] rodar coisas periodicas em perl

Andre Carneiro andregarciacarneiro at gmail.com
Wed Aug 28 08:29:28 PDT 2013


Lucas,

O 'foda-se' foi para a situação. Não para você!


E chega desse flame!



2013/8/27 Vinícius Miasato <viniciusmiasato at gmail.com>

> Opa,
>
> agora sim eu me lembrei pq eu entrei na sp-pm =)
>
> abs.
>
>
> Em 27 de agosto de 2013 15:30, Blabos de Blebe <blabos at gmail.com>escreveu:
>
> Se bem que uma flame, não deixa de ser algo periódico que roda na
>> comunidade Perl
>>
>> :)
>>
>>
>> 2013/8/27 Marcio Ferreira <marciodesouzaferreira at gmail.com>
>>
>>> 25
>>>
>>>
>>> Em 27 de agosto de 2013 12:23, Lucas Moraes <
>>> lucastiagodemoraes at gmail.com> escreveu:
>>>
>>> Responder nessa lista é dar soco em ponta de faca.
>>>> Andre respeito sua opinião, mas o "foda-se" fica pra você :p
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> Em 27 de agosto de 2013 11:48, <ricardostock at bol.com.br> escreveu:
>>>>
>>>>   Galera, eu vejo assim.
>>>>>
>>>>> Se trocar 6 por meia dúzia esta certo ? –> errado, é mostrar ao
>>>>> cliente que esta fazendo algo quando na verdade não esta.
>>>>>
>>>>> Mexer no que esta funcionando esta errado ? –> errado, se fosse assim
>>>>> não passaríamos horas otimizando, buscando novas formas de melhorar nosso
>>>>> serviço e mostrar ao cliente que realmente estamos trabalhando.
>>>>>
>>>>> Quando comecei a aprender Perl, algo que nunca esqueci até hoje na
>>>>> capa do livro do Larry Wall foi “Existe mais de uma maneira de se fazer”;
>>>>>
>>>>> Tiago, concordo com você, se esta tosco não esta gostando mude,
>>>>> otimize, refaça, eu sigo algumas regras em meus códigos, e duas delas são:
>>>>>
>>>>> -> Tem que estar funcionando...    Mas tem que estar funcionando ao
>>>>> meu agrado e de forma correta.
>>>>>
>>>>>
>>>>> -> Se posso melhorar.... porque não tentar...
>>>>>
>>>>> Para mim todas as opniões são importantes.... mas nem todas são
>>>>> validas....
>>>>>
>>>>>
>>>>>  *From:* Tiago Peczenyj <tiago.peczenyj at gmail.com>
>>>>> *Sent:* Tuesday, August 27, 2013 11:30 AM
>>>>> *To:* saopaulo-pm at mail.pm.org
>>>>> *Subject:* Re: [SP-pm] rodar coisas periodicas em perl
>>>>>
>>>>>  calma galera tb não é pra tanto
>>>>>
>>>>> eu tava achando essa porrada de if (dois) dentro do meu while algo
>>>>> tosco
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> 2013/8/27 Andre Carneiro <andregarciacarneiro at gmail.com>
>>>>>
>>>>>>  Se o Tiago estivesse com pressa, ele diria! E duvido que faria isso
>>>>>> da maneira como vocês fizeram.
>>>>>>
>>>>>> Achei chato mesmo e foda-se! Essa é a minha opinião!
>>>>>>
>>>>>>
>>>>>> Proost!
>>>>>>
>>>>>>
>>>>>>
>>>>>> 2013/8/27 Blabos de Blebe <blabos at gmail.com>
>>>>>>
>>>>>>> Na minha opinião, vc pode ter a sua opinião ;)
>>>>>>>
>>>>>>>
>>>>>>> 2013/8/26 Lucas Moraes <lucastiagodemoraes at gmail.com>
>>>>>>>
>>>>>>>> Mas ficar procurando soluções que não vai mudar muito o projeto é
>>>>>>>> trocar 6 por meia duzia. Conhecimento nunca é demais mesmo, isso é fato!
>>>>>>>> Mas tem quantas coisas novas para aprender em milhões de outros assuntos, o
>>>>>>>> que adianta você aprender várias formas de fazer se o final vai ser quase o
>>>>>>>> mesmo ou o mesmo. Tempo custa dinheiro, não é porque você tem tempo para
>>>>>>>> achar uma solução melhor que você é obrigado a fazer, aconselho a pessoa
>>>>>>>> descansar a mente ou procurar algo novo para fazer. Respeito sua opinião,
>>>>>>>> mas vou defendo a minha opinião. Eu postei minha opinião porque o código do
>>>>>>>> Tiago não esta feio, o módulo AE apesar de eu nunca ter usado, olhei no
>>>>>>>> metacpan esta com 49++ até o momento. Lembrando que é só uma opinião minha,
>>>>>>>> não estou colocando o revolver na cabeça de ninguém. Falou.
>>>>>>>>
>>>>>>>>
>>>>>>>> Em 26 de agosto de 2013 16:41, Andre Carneiro <
>>>>>>>> andregarciacarneiro at gmail.com> escreveu:
>>>>>>>>
>>>>>>>>  Que feio!
>>>>>>>>>
>>>>>>>>> Se houver prazo para pesquisa de novas soluções, eu não vejo
>>>>>>>>> porque usar! Além do mais eu aprendi que conhecimento nunca é demais. Então
>>>>>>>>> eu acho que essa nova visão agrega sim, e também qualquer visão diferente
>>>>>>>>> sobre a solução do problema. Obrigado Lorn!
>>>>>>>>>
>>>>>>>>> Aprendi também, que desenvolvedor tem que resolver o problema da
>>>>>>>>> melhor maneira possível! Que desempenho nunca é demais, e olhar para coisas
>>>>>>>>> novas deveria ser um incentivo para fazer as coisas corretamente, e não uma
>>>>>>>>> desculpa esfarrapada para resolver as coisas de qualquer maneira, ou
>>>>>>>>> desprezar a opinião dos outros de maneira tão grosseira.
>>>>>>>>>
>>>>>>>>> Proost!
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> 2013/8/26 Lucas Moraes <lucastiagodemoraes at gmail.com>
>>>>>>>>>
>>>>>>>>>> Tiago se seu código esta funcionando deixa rodando. Melhor código
>>>>>>>>>> é aquele que atende as necessidades do cliente. Pare de procurar problemas
>>>>>>>>>> onde não existe :)
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Em 26 de agosto de 2013 11:33, Tiago Peczenyj <
>>>>>>>>>> tiago.peczenyj at gmail.com> escreveu:
>>>>>>>>>>
>>>>>>>>>>  não entendi
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> 2013/8/26 Daniel de Oliveira Mantovani <
>>>>>>>>>>> daniel.oliveira.mantovani at gmail.com>
>>>>>>>>>>>
>>>>>>>>>>>> Para de perder tempo com coisas banais que não vão te agregar
>>>>>>>>>>>> nada.
>>>>>>>>>>>>
>>>>>>>>>>>> 2013/8/26 Tiago Peczenyj <tiago.peczenyj at gmail.com>:
>>>>>>>>>>>>  > e?
>>>>>>>>>>>> >
>>>>>>>>>>>> >
>>>>>>>>>>>> > 2013/8/26 Daniel de Oliveira Mantovani <
>>>>>>>>>>>> daniel.oliveira.mantovani at gmail.com>
>>>>>>>>>>>> >>
>>>>>>>>>>>> >> Tiago, "Easy things should be easy, and hard things should be
>>>>>>>>>>>> >> possible" - Larry Wall
>>>>>>>>>>>> >>
>>>>>>>>>>>> >> 2013/8/26 Tiago Peczenyj <tiago.peczenyj at gmail.com>:
>>>>>>>>>>>> >> > Depois vcs me pagam uma cerveja e fica tudo sussa.
>>>>>>>>>>>> >> >
>>>>>>>>>>>> >> >
>>>>>>>>>>>> >> > 2013/8/26 Lindolfo Lorn Rodrigues <lorn at lornlab.org>
>>>>>>>>>>>> >> >>
>>>>>>>>>>>> >> >> Antes que eu me esqueça: desculpe-me se insultei.
>>>>>>>>>>>> >> >>
>>>>>>>>>>>> >> >>
>>>>>>>>>>>> >> >> 2013/8/26 Lindolfo Lorn Rodrigues <lorn at lornlab.org>
>>>>>>>>>>>> >> >>>
>>>>>>>>>>>> >> >>> Não quis insultar, apenas dar outra visão para o
>>>>>>>>>>>> problema :)
>>>>>>>>>>>> >> >>>
>>>>>>>>>>>> >> >>>
>>>>>>>>>>>> >> >>>
>>>>>>>>>>>> >> >>> 2013/8/26 Tiago Peczenyj <tiago.peczenyj at gmail.com>
>>>>>>>>>>>> >> >>>>
>>>>>>>>>>>> >> >>>> foi mal, agora eu tenho algo como
>>>>>>>>>>>> >> >>>>
>>>>>>>>>>>> >> >>>> while(1){
>>>>>>>>>>>> >> >>>>    # calcula
>>>>>>>>>>>> >> >>>>    # if passou um minuto envia pro zabbix
>>>>>>>>>>>> >> >>>>    # if passou um dia reinicia o contador
>>>>>>>>>>>> >> >>>>    sleep(1);
>>>>>>>>>>>> >> >>>> }
>>>>>>>>>>>> >> >>>>
>>>>>>>>>>>> >> >>>> qualquer sugestão é bem vinda. de repente o zabbix pode
>>>>>>>>>>>> continuar com
>>>>>>>>>>>> >> >>>> a
>>>>>>>>>>>> >> >>>> monitoria e posso usar o StatsD para essas coisas
>>>>>>>>>>>> novas, ainda mais
>>>>>>>>>>>> >> >>>> se for
>>>>>>>>>>>> >> >>>> menos burocratico.
>>>>>>>>>>>> >> >>>>
>>>>>>>>>>>> >> >>>>
>>>>>>>>>>>> >> >>>> 2013/8/26 Stanislaw Pusep <creaktive at gmail.com>
>>>>>>>>>>>> >> >>>>>
>>>>>>>>>>>> >> >>>>> Seja qual for o seu objetivo, o código que você postou
>>>>>>>>>>>> já está feito
>>>>>>>>>>>> >> >>>>> e
>>>>>>>>>>>> >> >>>>> funcionando bem, aparenemente.
>>>>>>>>>>>> >> >>>>> "Eu mudaria boa parte do que você fez" e "Eu usaria o
>>>>>>>>>>>> Statsd para
>>>>>>>>>>>> >> >>>>> acumular o valor e exportaria via graphite", seguido
>>>>>>>>>>>> de "Eu não
>>>>>>>>>>>> >> >>>>> entendi bem
>>>>>>>>>>>> >> >>>>> o motivo de ficar rodando a cada segundo então vou
>>>>>>>>>>>> chutar" é um
>>>>>>>>>>>> >> >>>>> insulto a
>>>>>>>>>>>> >> >>>>> sua inteligência, IMHO
>>>>>>>>>>>> >> >>>>>
>>>>>>>>>>>> >> >>>>>
>>>>>>>>>>>> >> >>>>> 2013/8/26 Tiago Peczenyj <tiago.peczenyj at gmail.com>
>>>>>>>>>>>> >> >>>>>>
>>>>>>>>>>>> >> >>>>>> Explain creaktive
>>>>>>>>>>>> >> >>>>>>
>>>>>>>>>>>> >> >>>>>>
>>>>>>>>>>>> >> >>>>>> 2013/8/26 Stanislaw Pusep <creaktive at gmail.com>
>>>>>>>>>>>> >> >>>>>>>
>>>>>>>>>>>> >> >>>>>>> Overengineering detected!
>>>>>>>>>>>> >> >>>>>>>
>>>>>>>>>>>> >> >>>>>>>
>>>>>>>>>>>> >> >>>>>>> 2013/8/26 Lindolfo Lorn Rodrigues <lorn at lornlab.org>
>>>>>>>>>>>> >> >>>>>>>>
>>>>>>>>>>>> >> >>>>>>>> Eu mudaria boa parte do que você fez.
>>>>>>>>>>>> >> >>>>>>>>
>>>>>>>>>>>> >> >>>>>>>> Não sei qual problema que você está tentando
>>>>>>>>>>>> resolver com isso,
>>>>>>>>>>>> >> >>>>>>>> por
>>>>>>>>>>>> >> >>>>>>>> isso tudo
>>>>>>>>>>>> >> >>>>>>>> isso aqui será uma mega hipotese, se puder dizer
>>>>>>>>>>>> qual o problema
>>>>>>>>>>>> >> >>>>>>>> está tentando
>>>>>>>>>>>> >> >>>>>>>> resolver, seria legal :)
>>>>>>>>>>>> >> >>>>>>>>
>>>>>>>>>>>> >> >>>>>>>> Eu usaria o Statsd para acumular o valor e
>>>>>>>>>>>> exportaria via
>>>>>>>>>>>> >> >>>>>>>> graphite.
>>>>>>>>>>>> >> >>>>>>>>
>>>>>>>>>>>> >> >>>>>>>> Eu não entendi bem o motivo de ficar rodando a cada
>>>>>>>>>>>> segundo então
>>>>>>>>>>>> >> >>>>>>>> vou chutar:
>>>>>>>>>>>> >> >>>>>>>>
>>>>>>>>>>>> >> >>>>>>>> Você que capturar ações de usuário/sistema em algum
>>>>>>>>>>>> lugar?
>>>>>>>>>>>> >> >>>>>>>>
>>>>>>>>>>>> >> >>>>>>>> Caso sim, você poderia colocar esse codigo logo
>>>>>>>>>>>> depois a ação do
>>>>>>>>>>>> >> >>>>>>>> usuário/sistema:
>>>>>>>>>>>> >> >>>>>>>>
>>>>>>>>>>>> >> >>>>>>>> my $statsd = Etsy::StatsD->new
>>>>>>>>>>>> >> >>>>>>>> my $bucket = "pacman.hit_number"
>>>>>>>>>>>> >> >>>>>>>> $statsd->increment($bucket);
>>>>>>>>>>>> >> >>>>>>>>
>>>>>>>>>>>> >> >>>>>>>> O stasd usa UDP, não vai alterar em nada perceptivo
>>>>>>>>>>>> na
>>>>>>>>>>>> >> >>>>>>>> perfomance,
>>>>>>>>>>>> >> >>>>>>>> do seu sistema.
>>>>>>>>>>>> >> >>>>>>>>
>>>>>>>>>>>> >> >>>>>>>> Mandando o contador acima para o statsd ele irá
>>>>>>>>>>>> acumular e mandar
>>>>>>>>>>>> >> >>>>>>>> para o graphite,
>>>>>>>>>>>> >> >>>>>>>> no graphite com o dado cru você pode criar várias
>>>>>>>>>>>> operações de
>>>>>>>>>>>> >> >>>>>>>> estatistica
>>>>>>>>>>>> >> >>>>>>>> ( mediana, media, percentile..etc ) e gerar
>>>>>>>>>>>> graficos.
>>>>>>>>>>>> >> >>>>>>>>
>>>>>>>>>>>> >> >>>>>>>>
>>>>>>>>>>>> >> >>>>>>>>
>>>>>>>>>>>> >> >>>>>>>>
>>>>>>>>>>>> http://graphite.readthedocs.org/en/0.9.10/functions.html#module-graphite.render.functions
>>>>>>>>>>>> >> >>>>>>>>
>>>>>>>>>>>> >> >>>>>>>> O Statsd suporta vários backend o mais
>>>>>>>>>>>> conhecido/usado deles é o
>>>>>>>>>>>> >> >>>>>>>> Graphite:
>>>>>>>>>>>> >> >>>>>>>> http://graphite.wikidot.com/screen-shots
>>>>>>>>>>>> >> >>>>>>>>
>>>>>>>>>>>> >> >>>>>>>> A Etsy tem um post explicando melhor a
>>>>>>>>>>>> "metodologia" deles de
>>>>>>>>>>>> >> >>>>>>>> medir
>>>>>>>>>>>> >> >>>>>>>> tudo:
>>>>>>>>>>>> >> >>>>>>>>
>>>>>>>>>>>> >> >>>>>>>>
>>>>>>>>>>>> >> >>>>>>>>
>>>>>>>>>>>> >> >>>>>>>>
>>>>>>>>>>>> http://codeascraft.com/2011/02/15/measure-anything-measure-everything/
>>>>>>>>>>>> >> >>>>>>>> https://github.com/etsy/statsd
>>>>>>>>>>>> >> >>>>>>>>
>>>>>>>>>>>> >> >>>>>>>> PS: O Statsd teve origem no Flickr, e a primeira
>>>>>>>>>>>> versão era em
>>>>>>>>>>>> >> >>>>>>>> Perl
>>>>>>>>>>>> >> >>>>>>>> recentemente eles
>>>>>>>>>>>> >> >>>>>>>> liberaram o código fonte:
>>>>>>>>>>>> >> >>>>>>>>
>>>>>>>>>>>> >> >>>>>>>> https://github.com/iamcal/Flickr-StatsD
>>>>>>>>>>>> >> >>>>>>>>
>>>>>>>>>>>> >> >>>>>>>>
>>>>>>>>>>>> >> >>>>>>>>
>>>>>>>>>>>> >> >>>>>>>> 2013/8/26 Stanislaw Pusep <creaktive at gmail.com>
>>>>>>>>>>>> >> >>>>>>>>>
>>>>>>>>>>>> >> >>>>>>>>> Use AE::time() no lugar do localtime
>>>>>>>>>>>> >> >>>>>>>>>
>>>>>>>>>>>> >> >>>>>>>>> понедельник, 26 августа 2013 г. пользователь Tiago
>>>>>>>>>>>> Peczenyj
>>>>>>>>>>>> >> >>>>>>>>> писал:
>>>>>>>>>>>> >> >>>>>>>>>
>>>>>>>>>>>> >> >>>>>>>>>> Ola
>>>>>>>>>>>> >> >>>>>>>>>>
>>>>>>>>>>>> >> >>>>>>>>>> Eu tenho o seguinte caso
>>>>>>>>>>>> >> >>>>>>>>>>
>>>>>>>>>>>> >> >>>>>>>>>> preciso rodar um certo método a cada segundo, que
>>>>>>>>>>>> por sua vez
>>>>>>>>>>>> >> >>>>>>>>>> acumula um valor em algum atributo interno do
>>>>>>>>>>>> objeto ( total +=
>>>>>>>>>>>> >> >>>>>>>>>> por exemplo
>>>>>>>>>>>> >> >>>>>>>>>> ).
>>>>>>>>>>>> >> >>>>>>>>>>
>>>>>>>>>>>> >> >>>>>>>>>> a cada minuto quero enviar o valor de total para
>>>>>>>>>>>> algum lugar
>>>>>>>>>>>> >> >>>>>>>>>> (ex
>>>>>>>>>>>> >> >>>>>>>>>> Zabbix).
>>>>>>>>>>>> >> >>>>>>>>>>
>>>>>>>>>>>> >> >>>>>>>>>> a meia noite eu quero limpar o total para 0.
>>>>>>>>>>>> >> >>>>>>>>>>
>>>>>>>>>>>> >> >>>>>>>>>> Eu cheguei a algo assim:
>>>>>>>>>>>> >> >>>>>>>>>> use AnyEvent;
>>>>>>>>>>>> >> >>>>>>>>>>
>>>>>>>>>>>> >> >>>>>>>>>> sub loop {
>>>>>>>>>>>> >> >>>>>>>>>> my $obj   = Foo->new;
>>>>>>>>>>>> >> >>>>>>>>>> my $cv    = AE::cv;
>>>>>>>>>>>> >> >>>>>>>>>>
>>>>>>>>>>>> >> >>>>>>>>>> my $seconds_in_a_day = 60 * 60 * 24;
>>>>>>>>>>>> >> >>>>>>>>>> my $seconds_to_midnight =  $seconds_in_a_day -
>>>>>>>>>>>> >> >>>>>>>>>> seconds_from_midnight();
>>>>>>>>>>>> >> >>>>>>>>>>
>>>>>>>>>>>> >> >>>>>>>>>> my $loop = AE::timer  0, 1,  sub { $obj->run   };
>>>>>>>>>>>> >> >>>>>>>>>>
>>>>>>>>>>>> >> >>>>>>>>>> my $send = AE::timer  60, 60,  sub { $obj->send
>>>>>>>>>>>> };
>>>>>>>>>>>> >> >>>>>>>>>>
>>>>>>>>>>>> >> >>>>>>>>>> my $clear= AE::timer  $seconds_to_midnight,
>>>>>>>>>>>> $seconds_in_a_day,
>>>>>>>>>>>> >> >>>>>>>>>> sub { $obj->clear };
>>>>>>>>>>>> >> >>>>>>>>>> $cv->recv;
>>>>>>>>>>>> >> >>>>>>>>>> }
>>>>>>>>>>>> >> >>>>>>>>>>
>>>>>>>>>>>> >> >>>>>>>>>> a sub seconds_from_midnight usa localtime pra
>>>>>>>>>>>> fazer uma conta
>>>>>>>>>>>> >> >>>>>>>>>> marota.
>>>>>>>>>>>> >> >>>>>>>>>>
>>>>>>>>>>>> >> >>>>>>>>>> A assinatura do AE::timer eh
>>>>>>>>>>>> >> >>>>>>>>>>
>>>>>>>>>>>> >> >>>>>>>>>> AE::timer $delay, $interval, $callback;
>>>>>>>>>>>> >> >>>>>>>>>>
>>>>>>>>>>>> >> >>>>>>>>>> No primeiro timer eu tenho o meu main loop,
>>>>>>>>>>>> chamando o metodo
>>>>>>>>>>>> >> >>>>>>>>>> run.
>>>>>>>>>>>> >> >>>>>>>>>> No segundo eu tenho o metodo que envia os dados a
>>>>>>>>>>>> cada 60
>>>>>>>>>>>> >> >>>>>>>>>> segundos
>>>>>>>>>>>> >> >>>>>>>>>> No terceiro eu calculo quantos segundos faltam
>>>>>>>>>>>> para a meia
>>>>>>>>>>>> >> >>>>>>>>>> noite e
>>>>>>>>>>>> >> >>>>>>>>>> mando repetir a cada 24 horas.
>>>>>>>>>>>> >> >>>>>>>>>>
>>>>>>>>>>>> >> >>>>>>>>>> hoje eu tenho um loop com um sleep 1 e varios
>>>>>>>>>>>> ifs. quero que
>>>>>>>>>>>> >> >>>>>>>>>> fique
>>>>>>>>>>>> >> >>>>>>>>>> mais legivel e nao utilizo anyEvent em nenhum
>>>>>>>>>>>> outro lugar. Nao
>>>>>>>>>>>> >> >>>>>>>>>> precisa ser
>>>>>>>>>>>> >> >>>>>>>>>> EXATO, portanto um atraso de alguns segundos pode
>>>>>>>>>>>> acontecer.
>>>>>>>>>>>> >> >>>>>>>>>>
>>>>>>>>>>>> >> >>>>>>>>>> Parece bom, mas eu tenho algumas duvidas.
>>>>>>>>>>>> >> >>>>>>>>>>
>>>>>>>>>>>> >> >>>>>>>>>> 1) esta claro o suficiente?
>>>>>>>>>>>> >> >>>>>>>>>> 2) o overhead do AnyEvent parece ser o mesmo do
>>>>>>>>>>>> sleep (1)
>>>>>>>>>>>> >> >>>>>>>>>> durante
>>>>>>>>>>>> >> >>>>>>>>>> o runtime (ignorando quanto tempo demora pra
>>>>>>>>>>>> iniciar ou não),
>>>>>>>>>>>> >> >>>>>>>>>> certo?
>>>>>>>>>>>> >> >>>>>>>>>> 3) para rodar algo "a meia noite" me parece um
>>>>>>>>>>>> tanto confuso
>>>>>>>>>>>> >> >>>>>>>>>> ainda. não encontrei nenhum helper q me ajude (o
>>>>>>>>>>>> AnyEvent::Cron
>>>>>>>>>>>> >> >>>>>>>>>> da pau pra
>>>>>>>>>>>> >> >>>>>>>>>> mim). sera q nao eh melhor "re-setar" o time
>>>>>>>>>>>> watcher para a
>>>>>>>>>>>> >> >>>>>>>>>> proxima meia
>>>>>>>>>>>> >> >>>>>>>>>> noite?
>>>>>>>>>>>> >> >>>>>>>>>> 4) alias tem algo melhor do que ficar brincando
>>>>>>>>>>>> com localtime()
>>>>>>>>>>>> >> >>>>>>>>>> pra pegar quantos segundos faltam pra proxima
>>>>>>>>>>>> meia noite? algo
>>>>>>>>>>>> >> >>>>>>>>>> usando
>>>>>>>>>>>> >> >>>>>>>>>> DateTime
>>>>>>>>>>>> >> >>>>>>>>>>
>>>>>>>>>>>> >> >>>>>>>>>> por fim
>>>>>>>>>>>> >> >>>>>>>>>>
>>>>>>>>>>>> >> >>>>>>>>>> 5) tem algum problema ao usar AE::timer q eu não
>>>>>>>>>>>> esteja vendo?
>>>>>>>>>>>> >> >>>>>>>>>> Fora os problemas interentes como se eu usar IO
>>>>>>>>>>>> Bloqueante eu
>>>>>>>>>>>> >> >>>>>>>>>> não vou ter os
>>>>>>>>>>>> >> >>>>>>>>>> timers "exatos".
>>>>>>>>>>>> >> >>>>>>>>>>
>>>>>>>>>>>> >> >>>>>>>>>> Obrigado
>>>>>>>>>>>> >> >>>>>>>>>>
>>>>>>>>>>>> >> >>>>>>>>>> Tiago
>>>>>>>>>>>> >> >>>>>>>>>>
>>>>>>>>>>>> >> >>>>>>>>>> --
>>>>>>>>>>>> >> >>>>>>>>>> Tiago B. Peczenyj
>>>>>>>>>>>> >> >>>>>>>>>> Linux User #405772
>>>>>>>>>>>> >> >>>>>>>>>>
>>>>>>>>>>>> >> >>>>>>>>>> http://about.me/peczenyj
>>>>>>>>>>>> >> >>>>>>>>>
>>>>>>>>>>>> >> >>>>>>>>>
>>>>>>>>>>>> >> >>>>>>>>> =begin disclaimer
>>>>>>>>>>>> >> >>>>>>>>>    Sao Paulo Perl Mongers:
>>>>>>>>>>>> http://sao-paulo.pm.org/
>>>>>>>>>>>> >> >>>>>>>>>  SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>>>>>>>>>>> >> >>>>>>>>>  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: SaoPaulo-pm at pm.org
>>>>>>>>>>>> >> >>>>>>>>  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: SaoPaulo-pm at pm.org
>>>>>>>>>>>> >> >>>>>>>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>>>>>>>>>>> >> >>>>>>> =end disclaimer
>>>>>>>>>>>> >> >>>>>>>
>>>>>>>>>>>> >> >>>>>>
>>>>>>>>>>>> >> >>>>>>
>>>>>>>>>>>> >> >>>>>>
>>>>>>>>>>>> >> >>>>>> --
>>>>>>>>>>>> >> >>>>>> Tiago B. Peczenyj
>>>>>>>>>>>> >> >>>>>> Linux User #405772
>>>>>>>>>>>> >> >>>>>>
>>>>>>>>>>>> >> >>>>>> http://about.me/peczenyj
>>>>>>>>>>>> >> >>>>>>
>>>>>>>>>>>> >> >>>>>> =begin disclaimer
>>>>>>>>>>>> >> >>>>>>    Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>>>>>>>>>>> >> >>>>>>  SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>>>>>>>>>>> >> >>>>>>  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: SaoPaulo-pm at pm.org
>>>>>>>>>>>> >> >>>>>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>>>>>>>>>>> >> >>>>> =end disclaimer
>>>>>>>>>>>> >> >>>>>
>>>>>>>>>>>> >> >>>>
>>>>>>>>>>>> >> >>>>
>>>>>>>>>>>> >> >>>>
>>>>>>>>>>>> >> >>>> --
>>>>>>>>>>>> >> >>>> Tiago B. Peczenyj
>>>>>>>>>>>> >> >>>> Linux User #405772
>>>>>>>>>>>> >> >>>>
>>>>>>>>>>>> >> >>>> http://about.me/peczenyj
>>>>>>>>>>>> >> >>>>
>>>>>>>>>>>> >> >>>> =begin disclaimer
>>>>>>>>>>>> >> >>>>    Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>>>>>>>>>>> >> >>>>  SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>>>>>>>>>>> >> >>>>  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: SaoPaulo-pm at pm.org
>>>>>>>>>>>> >> >>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>>>>>>>>>>> >> >> =end disclaimer
>>>>>>>>>>>> >> >>
>>>>>>>>>>>> >> >
>>>>>>>>>>>> >> >
>>>>>>>>>>>> >> >
>>>>>>>>>>>> >> > --
>>>>>>>>>>>> >> > Tiago B. Peczenyj
>>>>>>>>>>>> >> > Linux User #405772
>>>>>>>>>>>> >> >
>>>>>>>>>>>> >> > http://about.me/peczenyj
>>>>>>>>>>>> >> >
>>>>>>>>>>>> >> > =begin disclaimer
>>>>>>>>>>>> >> >    Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>>>>>>>>>>> >> >  SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>>>>>>>>>>> >> >  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>>>>>>>>>>> >> > =end disclaimer
>>>>>>>>>>>> >> >
>>>>>>>>>>>> >>
>>>>>>>>>>>> >>
>>>>>>>>>>>> >>
>>>>>>>>>>>> >> --
>>>>>>>>>>>> >>
>>>>>>>>>>>> >> -dom
>>>>>>>>>>>> >>
>>>>>>>>>>>> >> --
>>>>>>>>>>>> >>
>>>>>>>>>>>> >> Daniel de Oliveira Mantovani
>>>>>>>>>>>> >> Business Analytic Specialist
>>>>>>>>>>>> >> Perl Evangelist /Astrophysics hobbyist.
>>>>>>>>>>>> >> +55 11 9 8538-9897
>>>>>>>>>>>> >> XOXO
>>>>>>>>>>>> >> =begin disclaimer
>>>>>>>>>>>> >>    Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>>>>>>>>>>> >>  SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>>>>>>>>>>> >>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>>>>>>>>>>> >> =end disclaimer
>>>>>>>>>>>> >
>>>>>>>>>>>> >
>>>>>>>>>>>> >
>>>>>>>>>>>> >
>>>>>>>>>>>> > --
>>>>>>>>>>>> > Tiago B. Peczenyj
>>>>>>>>>>>> > Linux User #405772
>>>>>>>>>>>> >
>>>>>>>>>>>> > http://about.me/peczenyj
>>>>>>>>>>>> >
>>>>>>>>>>>> > =begin disclaimer
>>>>>>>>>>>> >    Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>>>>>>>>>>> >  SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>>>>>>>>>>> >  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>>>>>>>>>>> > =end disclaimer
>>>>>>>>>>>> >
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> --
>>>>>>>>>>>>
>>>>>>>>>>>> -dom
>>>>>>>>>>>>
>>>>>>>>>>>> --
>>>>>>>>>>>>
>>>>>>>>>>>> Daniel de Oliveira Mantovani
>>>>>>>>>>>> Business Analytic Specialist
>>>>>>>>>>>> Perl Evangelist /Astrophysics hobbyist.
>>>>>>>>>>>> +55 11 9 8538-9897
>>>>>>>>>>>> XOXO
>>>>>>>>>>>> =begin disclaimer
>>>>>>>>>>>>    Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>>>>>>>>>>> SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>>>>>>>>>>> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>>>>>>>>>>> =end disclaimer
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>>>>>> Tiago B. Peczenyj
>>>>>>>>>>> Linux User #405772
>>>>>>>>>>>
>>>>>>>>>>> http://about.me/peczenyj
>>>>>>>>>>>
>>>>>>>>>>> =begin disclaimer
>>>>>>>>>>>    Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>>>>>>>>>> SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>>>>>>>>>> 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: SaoPaulo-pm at pm.org
>>>>>>>>>> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>>>>>>>>> =end disclaimer
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> André Garcia Carneiro
>>>>>>>>> Software Engineer
>>>>>>>>> (11)982907780
>>>>>>>>>
>>>>>>>>> =begin disclaimer
>>>>>>>>>    Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>>>>>>>> SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>>>>>>>> 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: SaoPaulo-pm at pm.org
>>>>>>>> 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: SaoPaulo-pm at pm.org
>>>>>>> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>>>>>> =end disclaimer
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> André Garcia Carneiro
>>>>>> Software Engineer
>>>>>> (11)982907780
>>>>>>
>>>>>> =begin disclaimer
>>>>>>    Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>>>>> SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>>>>> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>>>>> =end disclaimer
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Tiago B. Peczenyj
>>>>> Linux User #405772
>>>>>
>>>>> http://about.me/peczenyj
>>>>>
>>>>> ------------------------------
>>>>> =begin disclaimer
>>>>>    Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>>>> SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>>>> 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: SaoPaulo-pm at pm.org
>>>>>  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: SaoPaulo-pm at pm.org
>>>>  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: SaoPaulo-pm at pm.org
>>>  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: SaoPaulo-pm at pm.org
>>  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: SaoPaulo-pm at pm.org
>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
> =end disclaimer
>
>


-- 
André Garcia Carneiro
Software Engineer
(11)982907780
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20130828/95c2cff1/attachment-0001.html>


More information about the SaoPaulo-pm mailing list