2010-09-14 3 views
0

Je voudrais être en mesure de définir un délai d'attente de demande configurable (par contrôleur/action) dans les grails. L'objectif est de gérer de façon déterministe un mode rare de défaillance à forte charge. Par exemple, je sais que si un contrôleur/action donné ne revient pas dans 30 secondes, alors quelque chose est horriblement mauvais et je ne veux pas que l'utilisateur reste suspendu. Je voudrais gérer cela dans la logique de l'application si possible, car il pourrait y avoir des récupérations ou des messages raisonnables selon les conditions de l'événement.Comment implémenter un délai d'attente de requête dans grails?

Les filtres ne fonctionnent pas car l'heure peut être atteinte n'importe où dans le cycle de vie du traitement des demandes.

+0

voir http://stackoverflow.com/questions/2907516/how-to-configure-a-session-timeout-for-grails-application – Tom

+1

@ Tom - Je don Je pense que c'est un double de celui-là. La question référencée concerne les délais d'attente de session. celui-ci est par demande. –

+0

@Rob. Oui, mon mal. Toutes mes excuses à @Chris Alef. – Tom

Répondre

1

Je ne pense pas que ce soit facilement réalisable. Vous êtes probablement limité aux fonctionnalités du conteneur Servlet que vous utilisez. Par exemple, avec Tomcat, vous pouvez définir un connectionTimeout. Malheureusement, cela peut ne pas vous donner le contrôle que vous demandez car le délai d'attente et la réponse sont plus à la merci du conteneur.

Il y a probablement un moyen de le faire avec des threads d'arrière-plan, des minuteurs, des interruptions et de la magie noire, mais ce serait probablement une mauvaise chose.

Une discussion de la liste de diffusion couple que j'ai trouvé sur le sujet:

Questions connexes