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