This is an old revision of the document!
Supervisor
Supervisor e' uno strumento pratico e semplice per demonizzare dei normali processi foreground.
In /etc/supervisor/conf.d/
ci sono i file di configurazione (con sintassi .ini
) che fungono a demonizzare i processi. In particolare nella direttiva “command” viene richiamato lo script che funge da
wrapping a django/gunicorn (lo script e' situato sotto /usr/local/bin/
).
Altre 2 direttive molto importanti sono “autostart” e “autorestart”, ovvero il processo viene lanciato al boot, e viene rilanciato nel caso in cui crasha. Questo e' possibile perche' supervisor e' lui stesso un demone vero e proprio (e l'ho gia' settato via Ansible per essere lanciato all'avvio).
Per cui se si fa un reboot del server, parte tutto in automatico.
In sostanza e' come se ci fossero 2 livelli:
SysV (demone init) --> Supervisor --> gf_deploy --> gf_testcase
Per togliere ogni dubbio, guardare questi 2 file:
- /etc/supervisor/conf.d/gf_deploy.conf
- /usr/local/bin/gf_deploy.sh
Reference guide
Leggi i file di configurazione e caricali (e' simile a `service nome_demone reload`):
# supervisorctl reread # supervisorctl update
Per vedere lo stato di un processo:
# supervisorctl status gf_deploy
Per entrare nella “console” (prima di dare comandi, vi stampa lo stato di tutti i processi):
# supervisorctl
Per avviare a mano un processo:
# supervisorctl start gf_deploy
Per riavviare un processo:
# supervisorctl restart gf_deploy
Tenete conto che una volta dato reread && update
, i processi vengono
lanciati in automatico se hanno impostato autostart = True
.