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
Partager