Deploiement Apache2.2 + Mongrel

Bonjour à tous !

J’ai mis en place un serveur apache 2.2 + mongrel (load balancer) +
support php + subversion qui est maintenant fonctionnel.

J’ai remarqué dans le repertoire tmp/ de l’application que les fichiers
de sessions rails “ruby_sess” s’accumulaient. Après un savant calcul,
j’estime qu’Ã cette vitesse, mon serveur devrait exploser dans 557
heures 33 minutes et 42 secondes !!! Non, sérieusement, quelqu’un
connaît-il une solution “propre” (utilisant rake ?) pour nettoyer tout
ça ?

pour moi, solution propre != find -type f -name “ruby_sess*” -exec rm -f
{} ;

On est pas des barbares :slight_smile:

Merci par avance.

pour moi, solution propre != find -type f -name “ruby_sess*” -exec rm -f {} ;

il me semble que la solution propre n’est pas si loin, il doit y avoir
en plus
un mtime qui traine dedans (-;
… et tu rajoutes tout ça dans un cron. (style toutes les minutes tu
supprimes
les sessions qui n’ont pas bougé depuis plus de 30mn)

gUI

–
Pour la santé de votre ordinateur, préférez les logiciels libres !

Guillaume B. : (05 61) 19 40 65 / bureau 602N

Sinon y a ce plugin :
http://www.realityforge.org/articles/2006/03/01/removing-stale-rails-sessions
Je l’ai pas récupéré pour voir à quoi ressemble le code ; mais il doit
pas aller chercher bien loin, et doit donc pouvoir, à mon avis, être
utilisé sans trop de risque :slight_smile:

Benjamin.

Guillaume B. a écrit :


Railsfrance mailing list
[email protected]
http://lists.rubyonrails.fr/mailman/listinfo/railsfrance

Jérémy :

J’ai remarqué dans le repertoire tmp/ de l’application que les
fichiers de sessions rails “ruby_sess” s’accumulaient. Après
un savant calcul, j’estime qu’Ã cette vitesse, mon serveur devrait
exploser dans 557 heures 33 minutes et 42 secondes !!! Non,
sérieusement, quelqu’un connaît-il une solution “propre” (utilisant
rake ?) pour nettoyer tout ça ?

Tu peux stocker les sessions dans ta base avec ActiveRecordStore
(il y a aussi SQLSessionStore de Stefan K. si tu utilises MySql),
plutôt que sur le disque.

Il faut décommenter la ligne dans config/environment.rb :
config.action_controller.session_store = :active_record_store

Créer une migration avec : rake db:sessions:create

Puis créer une méthode de classe pour
CGI::Session::ActiveRecordStore::Session qui effacera
les anciens enregistrements.

La tâche rake db:sessions:clear, elle, les supprime toutes.

pour moi, solution propre != find -type f -name “ruby_sess*” -exec
rm -f {} ;

On est pas des barbares :slight_smile:

En effet, on n’utilise pas l’option -exec mais plutôt xargs(1).

Mais si utilises Pstore, tu peux faire rake tmp:sessions:clear

Et cron pour automatiser le tout.

– Jean-François

Perso, j’utilise memcache. Facile, rapide, …

A voir sur le fantastique blog de Chris Wansrath découvert grace a cette
mailing list (Nicolas P. je crois) :


Railsfrance mailing list
[email protected]
http://lists.rubyonrails.fr/mailman/listinfo/railsfrance