【Python】supervisor安装和管理celery

参考:http://blog.csdn.net/wawa8899/article/details/52743861

参考:http://www.cnblogs.com/mountaingeek/p/5911291.html

参考:http://www.linuxyw.com/718.html

参考:http://www.iitshare.com/supervisord-manage-process.html

参考:http://stackoverflow.com/questions/20346851/running-celery-as-root

运行生成配置文件:

[[email protected] /]# echo_supervisord_conf > /etc/supervisord.conf
...
pkg_resources.DistributionNotFound: meld3>=0.6.5
找到supervisor-3.3.1-py2.7.egg-info/requires.txt,把文件里面meld3 >= 0.6.5注释掉,然后再执行

配置

[program:dopcelerybeat]
command=python manage.py celery beat
numprocs=1
directory=/data1/vhosts/dop.leju.com/
autostart=true
startsecs=10
startretries=3
stopwaitsecs=600
killasgroup=true
user=root
redirect_stderr=true
stdout_logfile=/data1/logs/supervisord-celery-beat.log
stderr_logfile=/data1/logs/supervisord-celery-beat-error.log

[program:dopceleryworker]
command=python manage.py celery worker -l info
numprocs=1
directory=/data1/vhosts/dop.leju.com/
autostart=true
startsecs=10
startretries=3
stopwaitsecs=600
killasgroup=true
user=root
redirect_stderr=true
stdout_logfile=/data1/logs/supervisord-celery-worker.log
stderr_logfile=/data1/logs/supervisord-celery-worker-error.log

[group:dopcelery]
programs=dopcelerybeat,dopceleryworker
; priority=999                  ; the relative start priority (default 999)

运行celery时报错的解决方法:

1st solution - Manually type command at terminal
$ export C_FORCE_ROOT=‘true‘

2nd solution - Edit shell configuration
$ vi ~/.bashrc

    # add following line
    export C_FORCE_ROOT=‘true‘

$ source ~/.bashrc

3rd solution - Edit manage.py of Django
import os 

if __name__ == ‘__main__‘:
    os.environ.setdefault(‘C_FORCE_ROOT‘, ‘true‘)
    os.environ.setdefault(‘DJANGO_SETTINGS_MODULE‘, ‘{PATH TO SETTINGS FILE}‘)

    execute_from_command_line(sys.argv)

命令supervisorctl可以使用start/stop/status管理每个进程

[[email protected] supervisor-3.3.1-py2.7.egg-info]# supervisorctl
dopcelery:dopcelerybeat          STOPPED   Dec 15 04:40 PM
dopcelery:dopceleryworker        RUNNING   pid 31136, uptime 0:27:58
supervisor> status dopcelery:dopcelerybeat
dopcelery:dopcelerybeat          STOPPED   Dec 15 04:40 PM
supervisor> 
时间: 2024-08-04 05:11:03

【Python】supervisor安装和管理celery的相关文章

celery和supervisor配合使用,实现supervisor管理celery进程

在这里我选择redis作为celery异步任务的中间人,系统选择CentOS6.5 64位.redis.celery和supervisor的安装参见官方文档. 安装完毕后: 1, 创建celery的实例/home/user_00/learn/tasks.py文件 tasks.py: # -*-coding:utf-8-*- from celery import Celery, platforms app = Celery('tasks', backend='redis://localhost:6

使用Supervisor管理Celery进程。

讲过一篇celery的,但是celery启动后并不是daemon的,在生产环境中这肯定是不可以的,那怎么办呢? 这就需要使用supervisor进行进程管理了,下面详细介绍. 一. supervisor是干什么的. supervisor是有Python语言编写的,基于linux操作系统的一款服务器管理工具,用以监控服务器进程的运行. supervisor要求管理的程序是非daemon程序,supervisord会帮你把他转换成daemon程序. 因此如果使用supervisor来管理nginx进

Mac下Supervisor进程监控管理工具的安装与配置

Supervisor是一个类 unix 操作系统下的进程监控管理工具. Supervisor是由 Python 写成,可用 Python 的包安装管理工具 pip(Python Package Index) 直接安装 代码如下: sudo pip install supervisor 配置 Supervisor Supervisor 的配置文件命名为 supervisord.conf,它为 supervisord(Supervisor 的主服务命令) 和 supervisorctl(Superv

【资料整理】supervisor安装配置

supervisor 安装 [[email protected] download]# wget https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py -O - | python [[email protected] download]# easy_install supervisor [[email protected] download]# echo_supervisord_conf > /etc/supervisor

supervisor安装和使用

0. 前言 0.1 supervisor简介 Supervisor是用Python实现的一款非常实用的进程管理工具,可以方便的通过命令开启.关闭.重启等操作,而且它管理的进程一旦崩溃会自动重启,但是supervisor管理的进程必须由supervisord来启动,并且管理的程序必要是非Daemon程序,Supervisor会帮你把它转化为Daemon程序,比如想要使用Supervisor来管理Nginx进程,就必须在Nginx配置文件中加入 daemon off让Nginx以非Daemon方式运

supervisor安装及其配置

一.supervisor概述 supervisor是一个c/s系统,被用来在类Unix系统中监控进程状态.supervisor使用python开发. 服务端进程为supervisord,主要负责启动自身及其监控的子进程,响应客户端命令,重启异常退出的子进程,记录子进程stdout和stderr输出,生成和处理子进程生命周期中的事件.其配置文件一般为/etc/supervisord.conf,可以在配置文件中配置相关参数,包括supervisord自身的状态,其管理的各个子进程的相关属性等.sup

Python 并行分布式框架:Celery

Celery (芹菜)是基于Python开发的分布式任务队列.它支持使用任务队列的方式在分布的机器/进程/线程上执行任务调度. 架构设计 Celery的架构由三部分组成,消息中间件(message broker),任务执行单元(worker)和任务执行结果存储(task result store)组成. 消息中间件 Celery本身不提供消息服务,但是可以方便的和第三方提供的消息中间件集成.包括,RabbitMQ, Redis, MongoDB (experimental), Amazon SQ

Supervisor安装

转的一篇文章,原文,http://type.so/linux/supervisor-install-and-configure.html Supervisor安装 安装 easy_install supervisor 生成默认配置文件 echo_supervisord_conf > /etc/supervisord.conf mkdir /etc/supervisord.conf.d 修改配置文件 include区段修改为 [include] files = /etc/supervisord.c

Supervisor 安装及配置管理uwsgi进程

Supervisor介绍 Supervisor 允许其用户在UNIX类操作系统上控制多个进程. 块如下: 方便 需要为每个进程实例编写rc.d脚本通常是不方便的. rc.d脚本是进程初始化/自动启动/管理的常用形式,但写入和维护可能会很痛苦.此外,rc.d脚本不能自动重新启动崩溃的进程,并且许多程序在崩溃时不会正常重新启动.Supervisord启动进程作为其子进程,并可以配置为在崩溃时自动重新启动它们.它也可以自动配置为在其自身的调用中启动进程. 准确性 在UNIX上的进程通常很难获得准确的上