【问题标题】:supervisorctl: staggered/rolling restart of processessupervisorctl:进程的交错/滚动重启
【发布时间】:2017-01-29 19:23:55
【问题描述】:

我有一个包含 10 个进程的程序,如下所示:

[program:myprogram]
command=webservlet port=60%(process_num)03d
priority=5
numprocs=10
process_name=%(program_name)s_%(process_num)02d
autostart=true

当我进行代码更改时,我需要重新启动所有进程:

supervisorctl restart myprogram:

我想知道是否有办法错开重启,这样它们就不会立即全部下线?

【问题讨论】:

  • 不幸的是,我认为没有办法,你必须手动编写一个bash命令。

标签: supervisord


【解决方案1】:

感谢@NickSweeting,这就是我所做的:

restart-app.sh:

supervisorctl restart myapp:myapp_00
sleep 1
supervisorctl restart myapp:myapp_01
sleep 1
supervisorctl restart myapp:myapp_02
sleep 1
supervisorctl restart myapp:myapp_03
sleep 1
supervisorctl restart myapp:myapp_04
sleep 1
supervisorctl restart myapp:myapp_05
sleep 1
supervisorctl restart myapp:myapp_06
sleep 1
supervisorctl restart myapp:myapp_07
sleep 1
supervisorctl restart myapp:myapp_08
sleep 1
supervisorctl restart myapp:myapp_09

【讨论】:

    猜你喜欢
    • 2012-03-07
    • 2015-10-11
    • 1970-01-01
    • 2017-10-29
    • 2015-12-21
    • 2023-04-10
    • 2019-10-09
    • 2018-01-16
    • 1970-01-01
    相关资源
    最近更新 更多