1
0
mirror of https://github.com/Tygs/0bin.git synced 2023-08-10 21:13:00 +03:00
0bin/docs/fr/using_supervisor.rst

75 lines
2.3 KiB
ReStructuredText

====================
Utiliser supervisor
====================
Supervisor est un très bon moyen de gérer des processus Python. Nous n'allons
pas couvrir son installation (qui la plupart du temps se résume à
apt-get install supervisor ou pip install supervisor), mais voici un rapide
résumé de comment l'utiliser:
Créez un fichier de configuration nommé supervisor.ini::
[unix_http_server]
file=/tmp/supervisor.sock;
[supervisorctl]
serverurl=unix:///tmp/supervisor.sock;
[rpcinterface:supervisor]
supervisor.rpcinterface_factory=supervisor.rpcinterface:make_main_rpcinterface
[supervisord]
logfile=/tmp/zerobin.log
logfile_maxbytes=50MB
logfile_backups=2
loglevel=trace
pidfile=/tmp/supervisord.pid
nodaemon=false
minfds=1024
minprocs=200
user=zerobin
[program:zerobin]
command=/chemin/vers/zerobin/zerobin.py --port 80 --compressed-static
directory=/chemin/vers/zerobin/
environment=PYTHONPATH='/chemin/vers/zerobin/'
user=zerobin
autostart=true
autorestart=true
Les 4 premières entrées sont juste de la configuration standard et vous pouvez
les copier telles qu'elles.
La dernière entrée définie un processus (il peut y en avoir plusieurs)
que supervisor doit gérer.
Cela veut dire qu'il va lancer la commande::
/chemin/vers/zerobin/zerobin.py --port 80 --compressed-static
Et ceci dans le dossier, avec l'environnement et l'utilisateur défini, le tout
en arrière plan en tant que daemon.
`autostart` et `autorestart` permettent simplement de le lancer et de l'oublier:
supervisor redémarera le processus automatiquement en cas d'arrêt impromptu.
La première fois que vous lancez supervisor, passez lui le fichier de configuration::
supervisord -c /chemin/vers/supervisor.ini
Ensuite vous pouvez gérer les processus avec::
supervisorctl -c /chemin/vers/supervisor.ini
Cela va démarrer un shell depuis lequel vous pouvez faire un start/stop/restart
sur le service.
Toutes les erreurs seront logguées dans /tmp/zerobin.log.
.. Note::
Si vous avez installé zerobin dans un virtualenv, vous devriez définir la
commande pour qu'elle s'éxécute depuis le virtualenv::
command=/chemin/vers/le/virtualenv/bin/zerobin --port 80 --compressed-static