[SP-pm] Horas com milisegundos

breno breno at rio.pm.org
Thu Oct 22 18:15:38 PDT 2009


2009/10/22 Guilherme Luis Eberhardt <guilherme.eberhardt em gmail.com>:
> O motivo de não utilizar o Time::HiRes é porque ele é utilizado no
> MailScanner.
> As vezes a sua atualização pode parar este serviço.
>
> Então para evitar dores de cabeça, gostaria de fazer algo a parte.
>

Oi Guilherme,

é um argumento forte, e de fato o ideal é ter um sistema
compartimentalizado para cada aplicação crítica, sempre que possível.

Já pensou se precisássemos achar (ou fazer) um novo módulo sempre que
não quiséssemos mexer em algo que está em "produção"? Em um primeiro
momento podemos ficar tentados a simplesmente baixar o módulo,
renomeá-lo (no seu caso, digamos, para Time::HiRes2) e instalá-lo. Mas
e se precisarmos fazer de novo? E de novo? Não só é uma solução suja,
é algo que simplesmente não escala bem.

Como você não parece disposto a ter um build separado do perl em si
(note a caixa baixa), a melhor prática hoje em dia é simplesmente ter
uma instalação localizada dos módulos necessários para sua aplicação.
Minha recomendação portanto é utilizar o poderoso local::lib, que
torna esse trabalho fácil e indolor.

Com a instalação localizada, basta chamar o cpan como o usuário normal
e instalar os módulos normalmente, como se fosse root. Os módulos
ficarão num diretório de bibliotecas Perl, por padrão "perl5" dentro
do home do usuário, e os programas executados dentro do ambiente desse
usuário (ou propriamente configurados, em qualquer outro ambiente) as
utilizarão em vez das bibliotecas do sistema. Assim, você poderá
instalar o Time::HiRes e todos os outros sem se preocupar em
interromper serviços externos ou mudar bibliotecas do sistema.

http://search.cpan.org/perldoc?local::lib
http://blog.blabos.org/2009/08/instalando-modulos-do-cpan-via-locallib/

Possivelmente haverá um lightning talk sobre o assunto no YAPC::Brasil
semana que vem, apareça - e aproveite pra fazer uma também e nos
contar sobre seus projetos :-)


Boa sorte!

[]s

-b


More information about the SaoPaulo-pm mailing list