[Cascavel-pm] Compartilhar conexão DBD::Oracle entre processos (usando XML::Twig)

Marco A P D'Andrade mdacwb em gmail.com
Quarta Abril 11 07:54:50 PDT 2007


Em 10/04/07, Joenio Costa<joenio em gmail.com> escreveu:
> O trace do DBI me deu boas informações, mas mesmo assim nao entendi o
> problema, a conexão estava sendo fechada por alguem (provavelmente o

Em geral este "alguem" é um objeto destruido. Como vc já resolveu seu
problema imediato, nem vou tentar entender o XML::Twig, mas vc já
comentou sobre o uso de fork, e ao destruir as variaveis, o destroy se
encarrega de coletar o lixo, e isto gera a complicação...

No meu caso, a alternativa foi redefinir o disconnect no objeto filho...

Seguindo a sugestão do Champs, fui vasculhar o  XML::Twig, e se ele
realmente é uma interface simples, vale a pena vc redefinir a rotina
_parseurl, retirando o fork, ou simular seu SO como sendo VMS ;) ...

>> http://search.cpan.org/src/MIROD/XML-Twig-3.29/Twig.pm
# I should really add extra options to allow better configuration of the
# LWP::UserAgent object
# this method forks (except on VMS!)
#   - the child gets the data and copies it to the pipe,
#   - the parent reads the stream and sends it to XML::Parser
# the data is cut it chunks the size of the XML::Parser::Expat buffer
# the method returns the twig and the status
sub _parseurl


Outro caminho seria vc verificar as opções de disconnect on Destroy,
descritas no parametro  InactiveDestroy do manual do DBI.

...
           Think of the name as meaning 'treat the handle as not-Active in the
           DESTROY method'.
...
           level (not handle trace level) is set high enough to show the trace
           from the DBI's method dispatcher, e.g. >= 9.
...

Bem, talvez já seja tarde para a resposta, mas foi bom fugir um pouco
do trabalho para um pouco de lazer :D


Sds,
Marco Antonio



> XML::Twig). Nao tenho a saida do trace aqui mas envio assim que
> possivel. Resolvi testar outra alternativa e acabei decidindo pelo
> XML::Parser::PerlSAX, que me deu bons resultados.
>
> http://search.cpan.org/~kmacleod/libxml-perl-0.08/lib/XML/Parser/PerlSAX.pm
>
> Obrigado Luis,
>
> Em 10/04/07, Luis Motta Campos<luismottacampos em yahoo.co.uk> escreveu:
> > On Apr 9, 2007, at 5:00 PM, Joenio Costa wrote:
> > > Hummn...
> > > Acho que essas dicas irão salvar meu dia, estou colhendo boas
> > > informações com elas.
> > >
> > > Por enquanto já tenho confirmação que o problema é mesmo o fork criado
> > > pelo XML::Twig, mas ainda não sei em que momento e local isto está
> > > ocorrendo...
> > >
> > > "trace(1), trace(2), irei até o trace(15) se precisar... "  :-)
> >
> >    Talvez seja mais simples de "enxergar" o seu problema lendo o
> > código do XML::Twig...
> >
> > --
> > Luis Motta Campos (a.k.a. Monsieur Champs) is a software engineer,
> > Perl fanatic evangelist, and amateur {cook, photographer}
> >
> >
> > _______________________________________________
> > Cascavel-pm mailing list
> > Cascavel-pm em pm.org
> > http://mail.pm.org/mailman/listinfo/cascavel-pm
> >
>
>
> --
> Joenio Costa
> - Salvador Perl Mongers - Grupo de Usuário Perl de Salvador
> - Colibre - Cooperativa de Tecnologias Livres
> - PSL-BA - Projeto Software Livre Bahia
> _______________________________________________
> Cascavel-pm mailing list
> Cascavel-pm em pm.org
> http://mail.pm.org/mailman/listinfo/cascavel-pm
>


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