Partage
  • Partager sur Facebook
  • Partager sur Twitter

Connexion continue ou temporaire ?

    14 septembre 2011 à 14:11:26

    Bonjour,

    J'aimerais réaliser un programme en Python qui sera très lié à une BDD, je m'explique:
    -Le programme principal se connectera à intervalle régulier (chaque minute par exemple) pour récupérer des données selon certain critères.

    -Chaque entrée de la BDD sera exploité dans un thread différent. À la fin du processus de chaque thread, chacun se connectera à la BDD et effectuera des modifications dans celle-ci.

    Vu le nombre de requêtes soumis à la BDD, pensez-vous qu'il est mieux de maintenir une connexion continue de la BDD (connexion au lancement du programme) ou des connexions temporaires (connexion, manipulation, déconnexion) ?

    @+
    • Partager sur Facebook
    • Partager sur Twitter
      15 septembre 2011 à 17:28:43

      A mon avis tu devrais faire des tests et agir en conséquence.

      Par contre, si tes threads sont suceptibles de modifier les mêmes données, attention à ce qu'ils ne se marchent pas les uns sur les autres.

      Exemple : un thread a fini de modifier, il enregistre les données, mais avant de les enregistrer un autre thread les a lues et est en train de travailler dessus.
      • Partager sur Facebook
      • Partager sur Twitter
        15 septembre 2011 à 17:32:57

        Lu,

        J'ai abandonné l'idée des threads pour la modification de la BDD. Cela n'en vaut pas la peine, à mon avis. Néanmoins, si je laisse la connexion à la BDD active 24/7, n'y a-t-il pas un risque de déconnexion impromptue ?

        @+
        • Partager sur Facebook
        • Partager sur Twitter
          16 septembre 2011 à 19:58:45

          Up !

          Personne ne peut me conseiller ?

          Merci d'avance et @+
          • Partager sur Facebook
          • Partager sur Twitter
            17 septembre 2011 à 9:59:07

            Tu aurais du préciser quel SGBD tu utilises?

            Personnellement, j'essaie d'obtenir un connexion continu sur mysql. Mais pour le moment je n'ai pas encore trouvé, je reste bloqué sur la variable Wait_Time de MYSQL qui me coupe la connexion ouverte au bout de 8 heures.
            Je réinitialise la connexion, mais j'ai des erreurs Communications link failure
            Voir le post: http://www.siteduzero.com/forum-83-680 [...] -failure.html

            J'ai pensé a lancé un thread sur une déconnexion auto suivi d'une reconnection avant les 8 heures. Mais je pense qu'il est possible de passer outre ce problème.

            Si tu as des solutions.
            Merci
            • Partager sur Facebook
            • Partager sur Twitter
              17 septembre 2011 à 12:01:08

              Lu,

              J'utilise aussi MySQL. Effectivement, j'ai vu qu'il y avait un problème de déconnexion au bout d'un certain temps.

              À mon avis, il faut réussir à virer ce connect_timeout, sinon je pense qu'il est aussi possible de gérer ça avec les exceptions. Par exemple:
              Tu enfermes chaque requête SQL dans un "try", si il y a une erreur de type "connexion perdue" tu te reconnectes à la BDD et tu tentes à nouveau la requête.
              C'est pas très joli-joli, mais je pense que ça aura le mérite de fonctionner. Et aussi l'avantage que cela fonctionne pour le timeout mais aussi pour un réel bug.

              Tiens-moi au courant !


              Quelqu'un a une autre idée ?

              Merci d'avance et @+
              • Partager sur Facebook
              • Partager sur Twitter
                18 septembre 2011 à 20:32:51

                Up! Personne n'a jamais été confronté au même problème ?
                Qu'utilisez-vous dans vos logiciels web ?

                Merci d'avance et @+
                • Partager sur Facebook
                • Partager sur Twitter

                Connexion continue ou temporaire ?

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown