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), in particolare nella direttiva “command” viene richiamato il binario o lo script da lanciare. Per convenzione beFair, nel caso di script si consiglia di metterli in /usr/local/bin/.

Altri 2 parametri 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 (che va settato per essere lanciato al boot della macchina).

Per cui se si fa un reboot del server, dovrebbe partire tutto in automatico: Supervisor + i processi che gestisce.

In sostanza e' come se ci fossero 2 livelli:

Demone init (SysV, systemd..) --> Supervisor --> gf_deploy
--> gf_testcase

Utilizzo

Dopo aver lanciato il demone Supervisor e aver aggiunto i relativi file di configurazione, e' possibile caricarli (simile a service daemon_name reload):

# supervisorctl reread
# supervisorctl update

Per vedere lo stato di un processo:

# supervisorctl status gf_deploy

Per entrare nella “console”:

# supervisorctl

Prima di dare comandi, viene stampato lo stato di tutti i processi. A questo punto e' possibile usare gli stessi comandi, senza ripetere supervisorctl all'inizio.

Per avviare a mano un processo:

# supervisorctl start gf_deploy

Per riavviare un processo:

# supervisorctl restart gf_deploy

Nota: una volta dato reread && update, i processi vengono lanciati in automatico se hanno impostato autostart = True nel file di configurazione.