User Tools

Site Tools


supervisor

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
supervisor [2014/06/22 10:09] – [Esempio 2: Gasista Felice] kobesupervisor [Unknown date] (current) – removed - external edit (Unknown date) 127.0.0.1
Line 1: Line 1:
-====== 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. 
- 
-==== Esempio 1: WebUI di Deluge (client torrent) ==== 
- 
-- ''/etc/supervisor/conf.d/deluge-web.conf'' 
-  [program:deluge-web] 
-  command = deluge-web -p 7000 
-  process_name = deluge-web 
-  user = root 
-  autostart = true 
-  autorestart = true 
-  redirect_stderr = true 
- 
-==== Esempio 2: Gasista Felice ==== 
- 
-- ''/etc/supervisor/conf.d/gf_deploy.conf'' (file di Supervisor) 
-  [program:gf_deploy] 
-  command = /usr/local/bin/gf_deploy.sh run_gunicorn 
-    -b unix:/var/run/gf_deploy.sock 
-    -w 10 
-  process_name = %(program_name)s 
-  user = gf_deploy 
-  group = gf_deploy 
-  autostart = true 
-  autorestart = true 
-  stdout_logfile = /var/log/gf_deploy.log 
-  redirect_stderr = true 
- 
-- ''/usr/local/bin/gf_deploy.sh'' (wrapper a Django) 
-  #!/bin/bash 
-   
-  export WORKON_HOME=/usr/local/venvs 
-  export DJHISTORY_HOME=/usr/local/venvs/gf-deploy/src/django-pro-history 
-  export PYTHONPATH=/usr/lib/python2.7/dist-packages 
-   
-  source /etc/bash_completion.d/virtualenvwrapper 
-  workon gf-deploy 
-   
-  cd /usr/local/src/gasistafelice/gasistafelice 
-  /usr/bin/env python manage.py $@ 
- 
-Nota:  quest'ultimo e' un wrapper general-purpose a Django, per cui non viene usato solo per lanciare Gunicorn.  Questo permette di riusare (principio //DRY//) il wrapper anche per altri scopi. 
supervisor.1403431763.txt.gz · Last modified: 2014/10/28 11:28 (external edit)