[Cascavel-pm] Conexão com mysql em daemon
André Garcia Carneiro
andre.garcia.carneir em terra.com.br
Terça Janeiro 2 12:05:42 PST 2007
Igor,
Nesse caso, sugiro manter tudo muito simples e usar o DBI puro mesmo... talvez um 'RaiseError' no seu 'connect'
não seja má idéia, e não me lembro quem postou a sugestão de usar um connect_cached(nunca usei), mas achei
interessante, se você quiser deixar alguns processos como redundância, sem precisar refazer um connect toda a
vez , sei lá...
Usar DBIx::Class pode ser uma boa também, mas é que para o que você precisa acho que não é necessário, a não
ser por questão de organização. Se você precisar utilizar outro SGBD, que não o MySQL por exemplo, terá que
mudar pouquíssimas coisas(só para se conectar, se não esqueci de nada), e nada de SQL, já que está tudo
'abstraído' através do módulo DBIx::Class.
Questão de escolha... vc decide!! Mas se me perguntar, acho mais rápido fazer via DBI mesmo... : )
Cheers!
---------- Cabeçalho original -----------
De: cascavel-pm-bounces+andre.garcia.carneir=terra.com.br em pm.org
Para: "Cascavel Perl Mongers" cascavel-pm em pm.org
Cópia:
Data: Tue, 2 Jan 2007 18:13:41 +0000
Assunto: Re: [Cascavel-pm] Conexão com mysql em daemon
> Boa tarde Ari,
>
> 2007/1/2, Ari Arantes <ariarantes em gmail.com>:
> >
> > Pessoal,
> >
> > Fiz um daemon para ficar lendo do /var/log/maillog e ficar gravando
> > numa tabela do mysql, porém gostaria de saber qual é a melhor maneira
> > de conectar no banco de dados.
>
>
> Eu faria isto da seguinte maneira:
>
> 1. Usaria o POE::Wheel::FollowTail, que cuida da parte chata de verificação
> de existencia de arquivo, se ele foi truncado, etc;
> 2. Teria uma conexão aberta para a aplicação, evitando ter que abrir e
> fechar a conexão a cada linha - isso gera um overhead imenso;
> 3. Teria um prepared statement pronto para fazer a inserção dos dados. Isto
> ajuda a base de dados a fazer a validação do SQL antes da inserção -
> economizando mais uns ciclos de CPU;
> 4. Teria todas as minhas expressões regulares compiladas - isto é, ao invés
> de utilizar m//; utilize m//o;
>
> Estou verificando um código de exemplo. Assim que tiver, eu posto.
> --
> Igor Sutton Lopes <igor.sutton em gmail.com>
>
> E-mail classificado pelo Identificador de Spam Inteligente Terra.
> Para alterar a categoria classificada, visite
>
http://mail.terra.com.br/protected_email/imail/imail.cgi?+_u=andre.garcia.carneir&_l=1,1167761652.206107.3866.morondava.hst.terra.com.br,6713,Des15,Des15
>
> Esta mensagem foi verificada pelo E-mail Protegido Terra.
> Scan engine: McAfee VirusScan / Atualizado em 02/01/2007 / Versão: 5.1.00/4930
> Proteja o seu e-mail Terra: http://mail.terra.com.br/
>
>
--
André Garcia Carneiro
Developer(Perl/PHP)
Member of "São Paulo Perl Mongers" - http://sao-paulo.pm.org
Mais detalhes sobre a lista de discussão Cascavel-pm