Recargage automatisé et gracieux du gunicorn en production

J'ai un stream de travail de deployment automatisé qui empêche le code sur mes servers de production et triggers les migrations de bases de données, les mises à jour de files statiques, etc. Le problème est que gunicorn ne recharge pas automatiquement les modifications de code sans l'option de développement --reload , qu'ils recommandnt de ne pas utiliser production. Au lieu de cela, l'instruction consiste à envoyer un signal HUP au masterpid . Le problème est que je ne sais pas comment récupérer le masterpid dans un script automatisé, mais il est assez facile de le faire manuellement.

Comment puis-je récupérer la valeur materpid pour le process systemd de gunicorn dans un script bash?

Ajoutez ce qui suit au file de service système pour gunicorn , ou ajoutez-le comme rlocation:

 ExecReload=/bin/kill -HUP $MAINPID 

Vous pouvez ensuite recharger avec systemctl reload gunicorn .