2009-09-23 3 views
0

J'utilise mod_python.publisher pour exécuter du code Python et j'ai découvert un problème: Lorsque je mets à jour un script, la mise à jour ne fonctionne pas toujours et j'obtiens la même erreur que celle corrigée jusqu'à ce que je redémarre Apache. Parfois, cela fonctionne tout de suite, mais parfois pas ... mais redémarrer Apache définitivement toujours rattraper. C'est difficile de devoir redémarrer Apache et je pense qu'il y a une meilleure façon de le faire - mais qu'est-ce que c'est?Le cache de l'interpréteur mod_python n'est pas réinitialisé lors du changement de script?

+2

Pensez à passer à mod_wsgi où vous pouvez le contrôler plus facilement avec la commande unix 'touch'. –

Répondre

3

Ceci est le comportement attendu de mod_python. Votre code est chargé en mémoire et ne sera pas actualisé tant que le serveur n'aura pas été redémarré.

Vous avez deux options:

  1. Set MaxRequestsPerChild 1 dans votre fichier httpd.conf pour forcer Apache à recharger tout pour chaque demande.

  2. Set PythonAutoReload être sur
    http://www.modpython.org/live/mod_python-3.2.5b/doc-html/dir-other-par.html

Mais ne faites pas cela sur un serveur de production, car il ralentira le temps d'initialisation.

+0

Cela ne fonctionne pas sur mon hébergement sans accès root. Dommage que chaque correctif doit attendre beaucoup de temps pour aller en direct. –

Questions connexes