-
Ftp login & Timeout
Salut,
Dans le cadre de mise à jour automatique de différentes DB , j'ai créé un package qui liste la série de DB et les rapatrient les unes après les autres. La plupart des connexions avec leur serveur hébergeur s'effectue via Net::FTP.
Mais si il n'est pas possible d'établir le login( $ftp->login(... ) ou qu'un Timeout survient ma procédure stoppe et les DB suivantes ne sont pas mises à jour.
Ayant fait un peu de Delphi je sais qu'il existe via les "try except" la possibilité de gérer ce type d'événement s'il survient.
Existe il en Perl un moyen pour contrôler cet arrêt, via un test sur l'erreur ou autre, afin de pouvoir continuer la mise à jour des autres DB qui se trouvent à la suite dans ma liste ?
J'espère avoir été clair.
Merci d'avance
BàV
MSP
-
bin sur timeout ou sur perte de la connexion, il faut recréer la connexion, non ?
apparemment on ne peut pas dire que la connexion est 'non-bloquante' pour Net::FTP
-
C'est exactement ce que j'essaie de faire, mais automatiquement via ma procédure d'appel du package FTP (3 appels max par DB). Mais si une erreur survient ma procédure appelante stoppe et mon processus de mise à jour automatique de DB doit être relancé(reconnexion, login ... ). Hors ce qui m'interresse, c'est de gérer et tracer les echecs de rapatriement de façon full automatique càd sans devoir relancer moi même ma procédure après chaque échec. Je dois donc trouver un moyen pour neutraliser et/ou gérer cet arrêt.
Merci pour ton aide.
BàT
MSP
-
euh puis-je avoir la partie de code qui te sort en erreur ?
il s'agit d'un DIE du programme ?
-
Je n'utilise pas de DIE dans ce code et les fonctions sur lesquelles j'ai le problème sont : FTP-> get .... qui génère parfois un Timeout ou FTP-> login(... qui n'arrive pas à se connecter sur le serveur.
Mes problèmes sont liés à des perturbations réseaux (saturation ou coupure) car lorsque le code s'exécute hors heure de pointe (nuit ou tôt le matin) il n'y a pas de problème et le rapatriement des données s'effectue avec succès au premier essai.
BàT
MSP
-
as-tu essayé d'augmenter le 'timeout' ?
-
J'ai la solution à mon problème via les fonctions fork et wait.
Merci pour ton aide.
MSP