IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Ruby on Rails Discussion :

Coupure de connexion entre Rails 3.2.7 et Postgres 8.4


Sujet :

Ruby on Rails

  1. #1
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2012
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Coupure de connexion entre Rails 3.2.7 et Postgres 8.4
    Bonjour à tous,

    Je développe une grosse application en Rails 3.2.7 qui est connecté à une BD Postgres 8.4 installée sur la même machine. L'application s'exécute sur Apache avec le module Passenger.

    L'application est constamment utilisée par une centaine d'utilisateurs et ne pose aucun problème pendant plusieurs heures puis, d'un coup, Rails ne parvient plus à faire de requêtes vers la BD sans trop que je comprenne pourquoi. Les sessions étant stockées en BD, tous les utilisateurs sont alors déconnectés. La page de login faisant appelle à des enregistrements dans la BD, elle n'est donc plus atteignable.

    Voici le contenu de database.yml :

    production:
    adapter: postgresql
    database: ******_prod
    pool: 5
    username: ******
    password: ******
    encoding: utf8

    development:
    adapter: postgresql
    database: ******_dev
    pool: 5
    username: ******
    password: ******
    encoding: utf8

    Voici ce qui se passe comme erreur dans un contrôleur qui tente d'accéder à la BD :

    - Le code : time = (Parameter.find(:first, :conditions => ["name=?", "login_error_wait"])).value
    - L'erreur : undefined method 'value' for nil:NilClass

    Le paramètre recherché étant bien présent en BD. Ce code fonctionne parfaitement en temps normal jusqu'à ce que Postgres renvoi subitement la valeur nil.

    Quelqu'un aurait-il déjà eu ce genre de problème ou aurait-il une idée d'où cela pourrait venir?

    Je suis fortement ennuyé car il s'agit d'une application utilisée environ 2 heures par jours par chaque personne dans l'entreprise où je travaille.

    Merci d'avance pour vos réponses

  2. #2
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2011
    Messages
    239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 239
    Points : 424
    Points
    424
    Par défaut
    Bonjour, juste une interrogation, le moteur postgres est lui toujours opérationnel pendant le problème en se connectant avec un pgadmin par exemple ?
    idem avec la console rails ?

    le problème se corrige comment ? rédamarrage du moteur postgres ? du serveur web ?

  3. #3
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2012
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par v.charlet Voir le message
    Bonjour, juste une interrogation, le moteur postgres est lui toujours opérationnel pendant le problème en se connectant avec un pgadmin par exemple ?
    idem avec la console rails ?

    le problème se corrige comment ? rédamarrage du moteur postgres ? du serveur web ?

    Bonjour, je viens de faire le test, Pg Admin perd également sa connexion. Le problème se corrige tout seul au bout d'un moment (je suppose que Rails effectue une reconnexion automatique au bout d'un temps) et si je veux qu'il se résolve plus vite, je redémarre le serveur Apache.

    C'est donc bien du côté de Postgres qu'il y a un soucis, mais lequel ? :/

  4. #4
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2011
    Messages
    239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 239
    Points : 424
    Points
    424
    Par défaut
    je chercherais du coté du pool de connexion à postgres

    peut être que des connexions sont ouvertes et mal refermée, au bout d'un moment le serveur BDD refuse d'en ouvrir plus
    vérifier le nombre max de connexion dans le fichier de config
    http://www.developpez.net/forums/d13...es-postgresql/

  5. #5
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2012
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par v.charlet Voir le message
    je chercherais du coté du pool de connexion à postgres

    peut être que des connexions sont ouvertes et mal refermée, au bout d'un moment le serveur BDD refuse d'en ouvrir plus
    vérifier le nombre max de connexion dans le fichier de config
    http://www.developpez.net/forums/d13...es-postgresql/
    J'y avais pensé aussi. Le nombre max de connexions est à 300 et le nombre de connexions simultanées ne monte jamais au dessus de 30.

    Je pense faire une migration vers Postgres 9.2. Outre l'application Rails, j'ai des applications Java qui se connectent aussi à cette BD, j'utiliserai donc le Driver JDBC 9.2 du côté du Java.

    J'essaye ça dès demain et je vous tiens au courant de la situation

Discussions similaires

  1. [ODI] problème coupure connexion entre ODI et Mainframe
    Par dje2303 dans le forum ODI (ex-Sunopsis)
    Réponses: 7
    Dernier message: 20/09/2010, 11h17
  2. [JDBC]connexion entre db2 et l'annuaire ldap
    Par Man Crado dans le forum JDBC
    Réponses: 4
    Dernier message: 10/10/2005, 11h34
  3. probleme de connexion entre delphi 7 et une BD access
    Par bob.marley dans le forum Bases de données
    Réponses: 5
    Dernier message: 21/04/2004, 11h17
  4. Connexion entre deux ordi [Débutant]
    Par Ryadus dans le forum Développement
    Réponses: 2
    Dernier message: 12/06/2003, 21h47
  5. Réponses: 4
    Dernier message: 04/07/2002, 12h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo