DJANGO_SETTINGS_MODULE n'est plus modifiable sans relancer uwsgi #10
Chargement…
Référencer dans un nouveau ticket
Il n'existe pas encore de contenu.
Supprimer la branche "%!s(<nil>)"
Supprimer une branche est permanent. Cette action est IRRÉVERSIBLE. Continuer ?
La chaine que nous utilisons en production (
settings/__init__.py
) pour définirDJANGO_SETTINGS_MODULE
agit comme un aimant:<APP>/wsgi.py
appelle<APP>/settings/__init__.py
DJANGO_SETTINGS_MODULE
la valeur de la variable d'environnement du même nom.config.env
<APP>/wsgi.py
utilise la variable pythonDJANGO_SETTINGS_MODULE
pour definir la variable d'environnement du meme nom.Bref, on ne change pas
DJANGO_SETTINGS_MODULE
si la variable d'environnement est déjà définit, ce qui me semble correct, mais dans le même temps on positionne aussi cette variable. Et commeuwsgi
est assez conservateur cette variable va rester en mémoire même si on fait untouch <APP>/wsgi.py
.Un
touch
ou un double renommage (orig
->orig.nop
->orig
) du fichier de config dans/etc/uwsgi-emperor/vassals
) permet de repartir sur un environnement vierge et est moins bourin qu'unsystemctl restart uwsgi...
.Le cas problématique reste rare, puisque nous avons 2 valeurs possibles pour cette variable avec une variante "production" et une variante "development".
Mais admettons que la valeur de
DJANGO_SETTINGS_MODULE
doive changer (mettons un gros refactoring comme dansgABy
) le bug est difficile à voir.Je ne sais pas comment faire pour résoudre ça, pour le moment j'imagine quelque-chose comme ça:
wsgi.py
par exemple), on positionne ce drapeau.Il faudrait revoir ça a tête reposée (il y a peut être qqchose à faire avec la variable
READ_CONFIG_FILE
?)