2010-05-24 4 views
1

Dans mon application, j'ai un moniteur externe qui lance l'application quelques minutes et mesure son temps de disponibilité/temps de réponse Chaque fois que le moniteur se connecte, une nouvelle session de serveur est créée. le nombre de sessions, c'est toujours un minimum de 15, même pendant les périodes où il n'y a pas d'utilisateurs réels.Empêcher la création d'une session de manière sélective

J'ai essayé d'aborder ceci en mettant le code de création de session dans un filtre, mais cela ne semble pas le faire - je suppose que la session est automatiquement créée quand l'utilisateur ouvre la première page?

tous() { avant = { if (actionName == 'signin') { def session = // request.session crée la session if not exists }} }

Je peux configurer le moniteur doit transmettre un paramètre si nécessaire (par exemple, http://servername.com/?nosession, mais je ne sais pas comment m'assurer que la session n'est pas créée.)

Répondre

1

À l'heure actuelle, vous ne pouvez rien faire pour empêcher la création de la session.Voir: http://jira.codehaus.org/browse/GRAILS-1238

Heureusement, jusqu'à ce que vous atteigniez un nombre élevé de demandes par seconde, ce n'est pas un gros problème. Une chose que nous avons faite pour contourner les fausses données dans notre rapport "utilisateurs actifs" était de consigner les sessions dans la base de données. Nous créons un enregistrement de session uniquement lorsque l'utilisateur se connecte. Ensuite, sur des URL spécifiquement mappées, nous allons "toucher" cet enregistrement de session pour mettre à jour la dernière heure consultée. L'enregistrement de session garde la trace de l'agent d'utilisateur, de l'IP, etc. et est utile pour beaucoup de raisons. Faire quelque chose comme ça permettrait de contourner le nombre de sessions faux.

Questions connexes