supervisor集中式管理

作者: 写写代码唱唱歌 | 来源:发表于2016-06-28 21:49 被阅读391次

supervisor是一个python实现的可以对进程进行管理的程序,可以对托管的程序方便的进行类似重启,查看日志之类的操作,并提供了一个简单的操作界面.


  • 显示所有配置的主机以及他们所包含的应用。

同样的,这些应用也可以批量的进行管理。

用法

from Server import Server

SERVERS = [
    Server(
        name='celery1',
        host='127.0.0.1',
        port=12345,
        user='admin',
        password='admin'
    ),
    Server(
        name='celery2',
        host='remote.supervisor.com',
        port=12345,
        user='admin',
        password='admin'
    )
]

GROUPS = [
    {
        'name': 'celery',
        'apps': ['celery1.test:celery', 'celery2.test:celery']
    },
    {
        'name': 'flower',
        'apps': ['celery1.flower']
    }
]

上述配置中,一个Server对应的就是一个服务器上的supervisor实例,Server中的name是方便人来看的名字。

Notice: name必须是唯一的。不能重复。

下面是一个supervisor程序的配置文件。

[program:test]
command=celery -A main worker -l info -Ofair -Q test

directory=/home/q/celeryTest
user=brianyang
numprocs=1
stdout_logfile=/var/log/common.log
stderr_logfile=/var/log/common_err.log
autostart=true
autorestart=true
startsecs=10

killasgroup=true

priority=1000

[group:group1]
programs=celery,test

对照这个配置文件来讲解GROUPS

  • GROUPS 可以将任何的应用分到一组进行批量管理.
  • apps 是分组中要包含应用的列表.
  • 'apps'中的每个字符串的定义为 server_name.group_name:application_name.
  • application_name 对应supervisord.conf中'[program:test]' 里的'test'.
  • group_name对应supervisord.conf中'[group:group1]' 中的'group1'.
  • server_name 就是之前在SERVERS中定义的某个Server的name.

运行: python webui.py测试项目。

不要在生产环境中使用 python webui.py 。 更好的做法是使用一种常用的uwsgi服务器,例如uwsgi.

下一步要做的

  • 性能提升
  • UI提升
  • 异常处理

欢迎fork和star
github地址
原文地址

相关文章

  • supervisor集中式管理

    supervisor是一个python实现的可以对进程进行管理的程序,可以对托管的程序方便的进行类似重启,查看日志...

  • 使用supervisor管理进程

    使用supervisor管理进程 原文连接:使用supervisor管理进程 一、摘要 supervisor是一个...

  • redis数据持久化

    redis数据持久化以及supervisor管理redis supervisor管理redis yum -y in...

  • K8s Workloads

    ReplicaController与Supervisor区别:Supervisor只管理单机单进程,前者管理多结点...

  • laravel 队列

    //添加队列 消费队列 //通过supervisor管理 通过supervisor管理 安装 sudo apt-g...

  • Nginx 配合 Supervisor管理器 域名访问Djang

    准备安装 宝塔面板 安装 Nginx与 Supervisor管理器 Supervisor管理器配置 Supervi...

  • Supervisor

    进程管理supervisor的简单说明 Supervisor的作用与配置

  • Supervisor的作用与配置

    supervisor supervisor管理进程,是通过fork/exec的方式将这些被管理的进程当作super...

  • 一文搞懂supervisor进程管理

    supervisor 使用Python编写的进程管理程序supervisor来管理Python程序那是最合适不过了...

  • mac 安装配置supervisor

    supervisor 管理进程用的, 公司线上的进程管理就是supervisor.python 写的 , 子进程中...

网友评论

    本文标题:supervisor集中式管理

    本文链接:https://www.haomeiwen.com/subject/qwitjttx.html