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 ;) -- Posted via http://www.ruby-forum.com/. -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Damjan Rems
2012-Oct-13 10:02 UTC
Re: Coupure de connexion entre Rails 3.2.7 et Postgres 8.4
I google translated what you have written and as I understand database connection is not a problem. After some time your query returns nil for where should have been same data. You could try newer Postgress. 9.2 is the latest. Search logs for strange errors. This line: time = (Parameter.find(:first, :conditions => ["name=?", "login_error_wait"])).value can be done differently in 3.2.7 and I can also advice you this: t = Parameters.where("name" => "login_error_wait").first if t.nil? do some debugging end time = t.value by TheR -- Posted via http://www.ruby-forum.com/. -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit https://groups.google.com/groups/opt_out.
Rémi Nuyts
2012-Oct-15 06:29 UTC
Re: Coupure de connexion entre Rails 3.2.7 et Postgres 8.4
Thank you for your answer, I will try to upgrade Postgres. I will reply if it works. This is the topic in English : " Hi all, (Sorry for my bad English) I''m developing a large application in Rails 3.2.7, which is connected to a DB PostgresQL 8.4 installed on the same machine. The application runs on Apache with Passenger module. The application is constantly used by hundreds of users and no problem for several hours and then, suddenly, Rails is no longer able to make requests to the DB without too I understand why. The sessions are stored in BD, then all users are disconnected. The login page making calls to records in the database, it is no longer attainable. Here are the contents of database.yml: production: adapter: postgresql database: ****** _prod pool: 5 username: ****** password: ****** encoding: utf8 development: adapter: postgresql database: ****** _dev pool: 5 username: ****** password: ****** encoding: utf8 Here''s what happens as a controller error trying to access the DB: - Code: time = (Parameter.find (: first,: conditions => [ Last edited by remiuz (2012-10-11 09:14:29) " Rémi Nuyts wrote in post #1079378:> 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 ;)-- Posted via http://www.ruby-forum.com/. -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.