Comment puis-je configurer Apache2 / mod_python / Django pour interrompre le traitement des requêtes après N secondes?

StackOverflow https://stackoverflow.com/questions/2021051

Question

J'ai récemment passé un long moment de débogage quelque chose qui est avéré être un bug de boucle infinie dans mon propre code. Puisque je ne peux pas garantir que je ne ferai jamais ce genre d'erreur encore une fois, comment puis-je configurer mon serveur Web pour mettre fin à une sous-processus apache2 qui reste en attente pour mon application python pour retourner une réponse pour plus de N secondes?

Dans ce cas, je ne même pas remarqué le bug jusqu'à ce que le site a commencé à se sentir lent, à quel point un processus de apache2 avait couru dans une boucle infinie pendant des heures. S'il y avait un délai d'attente (même longue, comme 10min) qui pourraient avoir attrapé et m'a envoyé par courriel, je connais le problème plus tôt, et il n'aurait pas eu un impact performances du site pour le plus grand nombre d'utilisateurs.

recherche sur Google, je l'ai trouvé quelques suggestions de choses semblables dans une configuration mod_wsgi, mais s'il y a une façon de le faire dans ma configuration actuelle je préférerais cela. Merci!

Était-ce utile?

La solution

La réponse courte est non, il n'y a pas inclus cette fonctionnalité au sein mod_python avoir sur les délais d'attente des demandes individuelles.

Autres conseils

Hmmm.

Je me demande si vous pouvez utiliser mod_cgi pour exécuter le script Python pour le développement. Et puis revenir à mod_python pour le déploiement.

Ensuite, vous pouvez utiliser la directive TimeOut de base Apache pour limiter la durée Apache attend la réponse mod_cgi. N.B. Apache 2.2 qui est, cette extension de la directive TimeOut ne est venu avec la version 2.2.

HTH

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top