【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
运行生成配置文件:
[root@host /]# echo_supervisord_conf > /etc/supervisord.conf
...
pkg_resources.DistributionNotFound: meld3>=0.6.
找到supervisor-3.3.-py2..egg-info/requires.txt,把文件里面meld3 >= 0.6.5注释掉,然后再执行
配置
[program:dopcelerybeat]
command=python manage.py celery beat
numprocs=
directory=/path/
autostart=true
startsecs=
startretries=
stopwaitsecs=
killasgroup=true
user=root
redirect_stderr=true
stdout_logfile=/path/logs/supervisord-celery-beat.log
stderr_logfile=/path/logs/supervisord-celery-beat-error.log [program:dopceleryworker]
command=python manage.py celery worker -l info
numprocs=
directory=/path/
autostart=true
startsecs=
startretries=
stopwaitsecs=
killasgroup=true
user=root
redirect_stderr=true
stdout_logfile=/path/logs/supervisord-celery-worker.log
stderr_logfile=/path/logs/supervisord-celery-worker-error.log [group:dopcelery]
programs=dopcelerybeat,dopceleryworker
; priority= ; the relative start priority (default )
运行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管理每个进程
[root@d11092353 supervisor-3.3.-py2..egg-info]# supervisorctl
dopcelery:dopcelerybeat STOPPED Dec : PM
dopcelery:dopceleryworker RUNNING pid , uptime ::
supervisor> status dopcelery:dopcelerybeat
dopcelery:dopcelerybeat STOPPED Dec : PM
supervisor>
supervisorctl API:官方文档 http://www.supervisord.org/api.html
import xmlrpclib
server = xmlrpclib.Server('http://127.0.0.1:9900/RPC2')
server.supervisor.getState()
返回 >>> {'statename': 'RUNNING', 'statecode': 1}
server.supervisor.getProcessInfo('group:name')
返回 >>> 任务状态
【Python】supervisor安装和管理celery的更多相关文章
- python+selenium安装方法
一.准备工具: 下载 python[python 开发环境] http://python.org/getit/ 下载 setuptools [python 的基础包工具] http://pypi.py ...
- 使用Supervisor管理Celery进程。
讲过一篇celery的,但是celery启动后并不是daemon的,在生产环境中这肯定是不可以的,那怎么办呢? 这就需要使用supervisor进行进程管理了,下面详细介绍. 一. superviso ...
- celery和supervisor配合使用,实现supervisor管理celery进程
在这里我选择redis作为celery异步任务的中间人,系统选择CentOS6.5 64位.redis.celery和supervisor的安装参见官方文档. 安装完毕后: 1, 创建celery的实 ...
- supervisor安装部署文档和管理实例
Supervisord是用Python实现的一款非常实用的进程管理工具,类似于monit(关于monit见我的博客:用monit监控系统关键进程),monit和supervisord的一个比较大的差异 ...
- supervisor python开发的进程管理工具
Supervisor (http://supervisord.org) 是一个用 Python 写的进程管理工具,可以很方便的用来启动.重启.关闭进程(不仅仅是 Python 进程).除了对单个进程的 ...
- Ubuntu 安装和使用 Supervisor(进程管理)
服务器版本 Ubuntu 16.04 LTS. Supervisor 是一个用 Python 写的进程管理工具,可以很方便的对进程进行启动.停止.重启等操作. 安装命令: $ apt-get inst ...
- Supervisor安装与配置(Linux/Unix进程管理工具)
原文链接:http://blog.csdn.net/xyang81/article/details/51555473 Supervisor(http://supervisord.org/)是用Pyth ...
- Mac下Supervisor进程监控管理工具的安装与配置
Supervisor是一个类 unix 操作系统下的进程监控管理工具. Supervisor是由 Python 写成,可用 Python 的包安装管理工具 pip(Python Package Ind ...
- 使用 supervisor 管理 Celery 服务
使用 supervisor 管理 Celery 服务 Celery 后台运行 如果我们想让celery worker运行在后台而不是终端上,在后台以守护进程的方式运行,我们可以使用supervisor ...
随机推荐
- MSXML使用教程
在DOM接口规范中,有四个基本的接口:Document,Node,NodeList以及NamedNodeMap.在这四个基本接口中,Document接口是对文档进行操作的入口,它是从Node接口继承过 ...
- 视图(View) – ASP.NET MVC 4 系列
精心编写的整洁代码是开发一个可维护 Web 应用程序的基础.但用户在浏览器中访问时,这些工作他们是看不见的.用户对应用程序的第一印象,以及与应用程序的整个交互过程都是从视图开始的. ...
- win版本对比
Win+R 输入:slmgr.vbs -dlv 显示:最为详尽的激活信息,包括:激活ID.安装ID.激活截止日期slmgr.vbs -dli 显示:操作系统版本.部分产品密钥.许可证状态slmgr.v ...
- [原] wmic: Invalid XSL format (or) file name错误解决方法
之前运行wmic命令正确,今天在服务器上出现Invalid XSL format (or) file name的提示,搜索了一下,在这里找到了答案: http://www.ctkn.net/2011/ ...
- android 开发学习笔记 (一)
每个app 都有一个自己的 linux 进程: 每个进程都在自己的虚拟机里执行 两个app 可以跑在一个进程,一个vm里 android app 四大组件:activity,content provi ...
- ruby 生成有条件限制的随机数
#conding:utf-8 #生成只有数字的随机码可控制长度def random_int(len) newpass = "" 1.upto(len){ |i| newpass & ...
- Dual Number
http://ncatlab.org/nlab/show/dual+number http://mathworld.wolfram.com/DualNumber.html https://en.wik ...
- 【学】AngularJS日记(4)- 过滤器的使用
过滤器: 过滤器中的 |json,可以使原来的json数据输出时按照换行的样式 过滤器 | limitTo:2可以截取字符串或者数组的前2位 过滤器| orderBy 可以进行排序,加入json里的k ...
- VS2010中App_Code文件夹的问题
在VS2010中新建一个Web Application,然后新建一个app_Code文件夹, 在app_code文件夹下建一个ClassHelper类. 然后在index页面中使用ClassHelpe ...
- 带无缝滚动的轮播图(含JS运动框架)-简洁版
昨天写的神逻辑,今天终于解决,经过大家的商讨,终于研究出来一套简单的代码!!! js代码如下: <script> window.onload = function() { var oWra ...