Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Connexion persistante avec DBD::MySql

3 réponses
Avatar
Denis -esp2008-
Bonjour,

J'ai créé un script qui envoie des requêtes à mysql, que j'utilise sur
une machine dédiée*. Actuellement le script fait une connexion à la
base (via dbi) à chaque requête, mais afin de gagner en rapidité
d'exécution (il est déjà lent parce qu'il est mono-tâche et qu'il doit
envoyer le résultat sur un serveur ftp) je préférerais qu'il ne se
connecte qu'une bonne fois pour toutes (en plus ça me permettrait de
gérer les disconnect plus proprement, parce que là j'ai un peu honte).

Donc ma question est : connaissez-vous le moyen de faire une connexion
persistante à MySQL depuis un script perl ?

Merci,

--
Denis

* pour les curieux, il s'agit d'un bot irc qui répond à des requêtes
sql sur la base de wikipédia, pour le tester rendez-vous sur
irc://irc.freenode.org/#fr.wikipedia

3 réponses

Avatar
Emmanuel Florac
Le Sat, 07 May 2005 08:47:47 +0200, Denis -esp2008- a écrit :


Donc ma question est : connaissez-vous le moyen de faire une connexion
persistante à MySQL depuis un script perl ?


Si tu utilises mod_perl avec ton apache (ce qui est vivement recommandé)
c'est automatique. Regarde le bouquin "practical mod_perl", il est dispo
gratuitement sur le web et ce genre de trucs y sont expliqués.

--
Ce qu'il y a d'enivrant dans le mauvais goût c'est le plaisir
aristocratique de déplaire.
C. Baudelaire.

Avatar
Denis -esp2008-
Bonjour,

Si tu utilises mod_perl avec ton apache (ce qui est vivement recommandé)
c'est automatique.


Sauf qu'apache pour faire de l'irc ce n'est pas très adapté ;)
Enfin tu m'as mis sur la bonne voie, puisque mysql.pm contient ceci :

if ($this && ($ENV{MOD_PERL} || $ENV{GATEWAY_INTERFACE})) {
$this->{mysql_auto_reconnect} = 1;
}

Je pense que je suis sur la bonne voie.

--
Denis

Avatar
Emmanuel Florac
Le Sat, 07 May 2005 14:14:36 +0200, Denis -esp2008- a écrit :


Je pense que je suis sur la bonne voie.


Ton script tourne de façon continue? Alors connecte toi avec le
paramètre mysql_auto)reconnect à 1, et puis laisse le tourner...

--
Ne pas savoir de quoi on parle est un avantage dont il ne faut pas
abuser.
R.Debray