Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| linux:supervisor [25-09-2017 09:32] – [Notification par mail] edmc73 | linux:supervisor [16-12-2019 15:26] (Version actuelle) – [Supervisor] edmc73 | ||
|---|---|---|---|
| Ligne 7: | Ligne 7: | ||
| Avant de détailler plus en détail, lisez ce lien => https:// | Avant de détailler plus en détail, lisez ce lien => https:// | ||
| + | ===== Config ===== | ||
| + | |||
| + | Les fichiers de config doivent être écrit dans **/ | ||
| + | |||
| + | < | ||
| + | [program: | ||
| + | command=/ | ||
| + | autostart=true | ||
| + | autorestart=true | ||
| + | user=toto | ||
| + | stdout_logfile=/ | ||
| + | stderr_logfile=/ | ||
| + | </ | ||
| + | |||
| + | Si vous souhaitez lancer plusieurs instances, vous devez spécifier le nom des process avec obligatoirement la variable %(process_num)s | ||
| + | < | ||
| + | [program: | ||
| + | command=/ | ||
| + | process_name=worker_%(process_num)02d | ||
| + | numprocs=4 | ||
| + | autostart=true | ||
| + | autorestart=true | ||
| + | user=toto | ||
| + | stdout_logfile=/ | ||
| + | stderr_logfile=/ | ||
| + | </ | ||
| + | |||
| + | Si vous souhaitez que supervisor se place dans un répertoire avant de lancer la commande, ajoutez | ||
| + | directory=/ | ||
| ===== Commandes ===== | ===== Commandes ===== | ||
| Ligne 60: | Ligne 89: | ||
| supervisorctl update | supervisorctl update | ||
| - | On peut aussi spécifier le mail de l' | + | On peut aussi spécifier le mail de l' |
| < | < | ||
| [eventlistener: | [eventlistener: | ||
| command=crashmail -a -m dev@example.com -s '/ | command=crashmail -a -m dev@example.com -s '/ | ||
| - | events=PROCESS_STATE_EXITED | + | events=PROCESS_STATE |
| </ | </ | ||
| Ligne 70: | Ligne 99: | ||
| Plus d'info sur les events => http:// | Plus d'info sur les events => http:// | ||
| + | ===== Les logs ===== | ||
| + | |||
| + | Supervisord rotate lui même ses logs (si > 50Mo, rotate sur 10 fichiers par défaut) mais si vous voulez utiliser logrotate, il est important de mettre l' | ||
| + | |||
| + | > **copytruncate** | ||
| + | > Truncate the original log file to zero size in place after creating a copy, instead of moving the old log file and optionally creating a new one. It can be used when some program cannot | ||
| + | |||
| + | |||
| + | < | ||
| + | / | ||
| + | daily | ||
| + | rotate 60 | ||
| + | copytruncate | ||
| + | compress | ||
| + | missingok | ||
| + | notifempty | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | Puis de désactivez aussi la taille max des logs et la rotation automatique | ||
| + | < | ||
| + | [program: | ||
| + | directory=/ | ||
| + | command=/ | ||
| + | stderr_logfile=/ | ||
| + | stdout_logfile=/ | ||
| + | stdout_logfile_maxbytes=0 | ||
| + | stderr_logfile_maxbytes=0 | ||
| + | stdout_logfile_backups=0 | ||
| + | stderr_logfile_backups=0 | ||
| + | </ | ||
| + | |||
| + | Vous pouvez aussi rediriger les logs d' | ||
| + | redirect_stderr=true | ||