supervisor 使用总结

2019/05/17 技术

supervisor 使用总结

1. 安全添加/更新 任务

新建或者更新任务配置文件后,supervisor可以在不影响其他任务的前提下 加载或重新 加载任务。

supervisorctl reread && supervisorctl update

2. 任务配置示例

  • 多个子进程按顺序使用不同的端口
    [program:demo]
    command=docker run --name=demo_%(process_num)05d -p %(process_num)05d:80 diy/server:latest
    directory=/tmp
    process_name=%(program_name)s_%(process_num)05d
    numprocs=5
    numprocs_start=8001
    startsecs = 5
    startretries = 3
    redirect_stderr = true
    stdout_logfile = /var/log/supervisor/xx.log
    autostart=true
    autorestart=unexpected
    stopsignal=TERM
    

上述配置,会依次启动 demo_8001, demo_8002, …, demo_8005 共 5 个 容器, 分别监听 8001, 8002, …, 8005端口。

3. 监控supervisor自身

使用一下代码,定时监控supervisor:没运行则启动,运行则维持原状。

# crontab -e
*/5 * * * * supervisord -c /etc/supervisord.conf

Search

    Table of Contents