Situation courante: J'ai un client sur mon serveur qui peut mettre à jour une partie du code dans son projet python. Il peut ssh dans son shell et sortir de son dépôt et tout va bien - mais le code est stocké en mémoire (autant que je sache) donc j'ai besoin de tuer le processus fastcgi et le redémarrer pour que le code change.Django: Redémarrez avec élégance les sites nginx + fastcgi pour refléter les changements de code?
Je sais que je peux gracefully restart fcgi mais je ne veux pas avoir à faire manuellement ce. Je veux que mon client mette à jour le code, et dans les 5 minutes ou peu importe, pour que le nouveau code fonctionne sous le processus fcgi.
Merci
Chaque client partage actuellement son propre processus (je l'utilise et svc un script bash pour lancer essentiellement runfcgi manage.py de leur propre répertoire) .. Je n'ai pas beaucoup, donc ce n'est pas vraiment un problème. Comment puis-je leur permettre de redémarrer le leur en utilisant un script de code de déploiement? Les fichiers daemontool sont dans '/ etc/services/ /' ils n'ont la permission de toucher ceux-ci, ils ne sont autorisés à utiliser '-d svc/-u' pour redémarrer les services. Merci pour l'aide jusqu'à présent, cependant! –
Bartek
Je ne suis pas entièrement sûr de ce qu'il faut pour redémarrer un processus fcgi. Si c'est similaire à mod_wsgi, vous pouvez simplement toucher le fichier wsgi (apache surveille le mtime). Alternativement, vous pouvez accorder l'accès à votre script bash et le rendre plus intelligent (pour qu'il gère correctement les permissions des utilisateurs). Vous pouvez également repenser votre déploiement pour autoriser un processus par application, puis redémarrer son propre processus aussi souvent qu'il le souhaite. Vous ne savez pas exactement ce qui vous convient, mais le script ci-dessus répond à la question que vous avez posée. –