1.首先说说为什么要使用分组

需求:假如公司目前有一台配置很高的服务器用来部署项目,项目为了方便管理,使用supervisor进程管理工具,目前该服务器上面已经部署了一个项目。此时研发团队又开发了一个项目,需要部署上线,由于该服务器性能很好,老板想要节约成本,预将这个项目也部署在该服务器上,同样使用supervisor进行管理,那么此时就会出现一下情况:

  1. 如果仅有一个项目时,启动、停止、重启项目只需要使用以下命令

    supervisorctl start all
    supervisorctl restart all
    supervisorctl stop all
    
  2. 现在有两个项目了,则不能在使用all进行操做了,否则启动或停止时,两个项目则同时被操做,此时就可以使用分组来进行管理,将两个项目分别加入不同的组进行管理

    项目1分组组名为project1,它下面有很多服务,比如uwsgi、celery、channels…,服务名暂且和与服务对应分别命名为:uwsgi、celery_worker、celery_beat、channels

    项目2分组组名为project2,它下面也有很多服务,比如uwsgi、celery、channels…,服务名暂且和与服务对应分别命名为:uwsgi、celery_worker、celery_beat

    1. 现在需要停止项目1,但是不能影响项目2
      supervisorctl stop project1:
      这条命令会将项目1下的所有服务都停止(注意后面的冒号)
    1. 如果不使用分组的情况下(两个或多个项目的每个服务名称都不能重名,否则supervisor会出现异常),要停止一个项目且不影响另一个项目,必须使用以下命令
      supervisorctl stop celery_worker uwsgi celery_beat ...
      你必须手写所有要停止服务的名称,必须保证没有写错,如果写错一个就要重新来过,是不是很麻烦
    1. 当然有小伙伴需求是这样,使用了分组,但我想启动单个服务,是不是分组后每次只能重启该分组下的所有服务,当然不是,使用了分组后重启组内单个服务时可以使用以下命令,假如重启项目1下的channels服务
      supervisorctl restart project1:channels
2.说了分组的优点,接下来说说怎么对supervisor进行分组
  1. supervisor配置文件路径/etc/supervisord.d/下,关于supervisor基础知识,在之前的文章中已经讲过,此处不再赘述,将会使得该篇文章更加易读。

  2. 如果不使用分组时我们项目的多个服务的配置文件可能如下,每个服务单独写一个配置文件

  3. 也可能是所有服务写在一个配置文件

  4. 分组的使用,为了方便,我们将单个项目的所有服务写在一个文件中

  5. 分组应该也可以写在单个配置文件中,假如项目下每个服务都有自己的配置文件,如第二条截图,给每个服务首行都添加一个组[group:组名],这块的组名都写成一致,此时应该也会被分配到一个组,此处没尝试,只是猜测,理论上应该没问题,你们有兴趣可以验证以下,到时候可以留言告知

supervisor分组相关推荐

  1. Supervisor 托管服务

    Supervisor (http://supervisord.org) 是一个用 Python 写的进程管理工具,可以很方便的用来启动.重启.关闭进程(不仅仅是 Python 进程).除了对单个进程的 ...

  2. 使用 supervisor 管理进程

    Supervisor (http://supervisord.org) 是一个用 Python 写的进程管理工具,可以很方便的用来启动.重启.关闭进程(不仅仅是 Python 进程).除了对单个进程的 ...

  3. python supervisor_python之supervisor进程管理工具

    supervisor是python写的一个管理进程运行的工具,可以很方便的监听.启动.停止.重启一个或多个进程:有了supervisor后,就不用字节写启动和监听的shell脚本了,非常方便. sup ...

  4. supervisor安装部署和使用实例

    Supervisord是用Python实现的一款非常实用的进程管理工具,类似于monit,monit和supervisord的一个比较大的差异是supervisord管理的进程必须由superviso ...

  5. elixir 高可用系列(五) Supervisor

    概述 OTP 平台的容错性高,是因为它提供了机制来监控所有 processes 的状态,如果有进程出现异常, 不仅可以及时检测到错误,还可以对 processes 进行重启等操作. 有了 superv ...

  6. supervisor进程管理工具

    2019独角兽企业重金招聘Python工程师标准>>> 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 ...

  7. Linux 进程管理与监控(supervisor and monit)

    一.Supervisor 1.安装 宿主机环境:( Centos 6.5 ) pip2.7 install supervisor 2.创建配置文件 通过 echo_supervisord_conf 命 ...

  8. python怎么打开程序管理器_Python 进程管理工具 Supervisor 使用教程

    因为我的个人网站 restran.net 已经启用,博客园的内容已经不再更新.请访问我的个人网站获取这篇文章的最新内容,Python 进程管理工具 Supervisor 使用教程 Supervisor ...

  9. supervisor监控php进程程序,详解Supervisor进程守护监控(转)

    Supervisor的配置 2.0 创建目录,初始化配置文件 mkdir /usr/supervisor echo_supervisord_conf > /usr/supervisor/supe ...

最新文章

  1. Python自学路线图之Python进阶
  2. 开源项目-基于Intel VT技术的Linux内核调试器
  3. 是时候给2020年做个总结了
  4. 第十一章 机器学习系统设计-机器学习老师板书-斯坦福吴恩达教授
  5. 游戏行业全场景数字化解决方案全面上线,速来围观
  6. 使用KubeKey安装K8S集群
  7. Transformer升级之路:Sinusoidal位置编码追根溯源
  8. WebBrowser内存泄露
  9. 40. Combination Sum II **
  10. 华为如何在开发者选项观察错误日志_资讯:华为Mate 40 Pro屏幕供应商曝光;iPhone 13第一版原型机曝光;王者荣耀日均日活用户过亿...
  11. JNDI(datasource)在tomcat,JBOSS下的spring+quartz配置
  12. 不管你挣多少钱永远都是问题
  13. java校验入参的有效性的工具类
  14. Oracle Dataguard 管理命令
  15. 数据结构C语言双向循环链表,数据结构和算法(双向链表和双向循环链表)
  16. Mac命令行上传代码至GitHub
  17. dreamweaver动漫HTML网站制作——海贼王主题网页1页海贼王我当定了(HTML+CSS)
  18. B2C,B2B,c2c是什么?
  19. jenkins 使用报ERROR: svn: E155010: The node ‘/aaa/bbb/ccc/ddd‘ was not found.
  20. 云数据库ClickHouse资源隔离 - 弹性资源队列

热门文章

  1. python怎么变成动图_教你用 Python 生成 GIF 动图 !
  2. 莫尔斯电码对照表_使用莫尔斯电码编码纯文本
  3. 05.内存管理:动态申请和释放内存
  4. 加权平均法融合图像matlab,基于MATLAB的图像融合算法
  5. python gui Gooey 报错 error: argument command: invalid choice:
  6. vert.x+java入门_从Vert.x开始_Java API 版本的Vert.x Core 手册_w3cschool
  7. hprof 文件查看
  8. 廖雪峰python教程---pycharm版之二
  9. 万象霜天计算机谱子,三无MarBlue/..《万象霜天》[FLAC/MP3-320K]
  10. 计算机网络军训口号,关于新生军训的班级霸气口号、标语简短励志句子合集