爬虫程序员首页投稿(暂停使用,暂停投稿)

supervisor集中式管理

2016-06-28  本文已影响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

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

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

下一步要做的

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

上一篇 下一篇

猜你喜欢

热点阅读