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.