用supervisor控制celery时的脚本

简介:

注意启停的先后顺序及判断即可。

这样,在更改task之后,要重启就方便很多啦。。

复制代码
#!/bin/sh

supervisord_count=`ps -elf | grep celery | grep -v grep | wc -l`
if [ $supervisord_count -gt 0 ]; then
    ps aux|grep -v grep|grep supervisord|awk '{print $2}'|xargs kill -9
fi

celery_count=`ps -elf | grep celery | grep -v grep | wc -l`
if [ $celery_count -gt 0 ]; then
    ps aux|grep -v grep|grep celery|awk '{print $2}'|xargs kill -9
fi

/usr/bin/python /usr/local/python27/bin/supervisord -c /P/supervisord_prd.conf
sh /usr/local/nginx/sbin/uwsgi9090 reload
/usr/local/nginx/sbin/nginx -s reload

echo 'finished!'
复制代码

另给一个最基本的supervisor的设置:

复制代码
; Sample supervisor config file.
;
; For more information on the config file, please see:
; http://supervisord.org/configuration.html
;
; Notes:
;  - Shell expansion ("~" or "$HOME") is not supported.  Environment
;    variables can be expanded using this syntax: "%(ENV_HOME)s".
;  - Comments must have a leading space: "a=b ;comment" not "a=b;comment".

[supervisord]
logfile=/tmp/supervisord.log ; (main log file;default $CWD/supervisord.log)
logfile_maxbytes=50MB        ; (max main logfile bytes b4 rotation;default 50MB)
logfile_backups=10           ; (num of main logfile rotation backups;default 10)
loglevel=info                ; (log level;default info; others: debug,warn,trace)
pidfile=/tmp/supervisord.pid ; (supervisord pidfile;default supervisord.pid)
nodaemon=false               ; (start in foreground if true;default false)
minfds=1024                  ; (min. avail startup file descriptors;default 1024)
minprocs=200                 ; (min. avail process descriptors;default 200)
;umask=022                   ; (process file creation umask;default 022)
;user=chrism                 ; (default is current user, required if root)
;identifier=supervisor       ; (supervisord identifier, default is 'supervisor')
;directory=/tmp              ; (default is not to cd during start)
;nocleanup=true              ; (don't clean up tempfiles at start;default false)
;childlogdir=/tmp            ; ('AUTO' child log dir, default $TEMP)
;environment=KEY="value"     ; (key value pairs to add to environment)
;strip_ansi=false            ; (strip ansi escape codes in logs; def. false)

; the below section must remain in the config file for RPC
; (supervisorctl/web interface) to work, additional interfaces may be
; added by defining them in separate rpcinterface: sections
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface

[supervisorctl]
serverurl=unix:///tmp/supervisor.sock ; use a unix:// URL  for a unix socket

[program:celeryd]
command=/usr/local/python27/bin/celery worker -A XXXX -c 4   -l INFO -n celeryd@deploy
stdout_logfile=/var/log/celeryd.log
stderr_logfile=/var/log/celeryd.log
autostart=true
autorestart=true
startsecs=10
stopwaitsecs=600

;[program:celerybeat]
;command=/usr/local/python27/bin/celery worker -A XXXX -c 4   -B -n celerybeat@ping
;stdout_logfile=/var/log/celeryd.log
;stderr_logfile=/var/log/celeryd.log
;autostart=true
;autorestart=true
;startsecs=10
;stopwaitsecs=600
复制代码
目录
相关文章
|
6月前
|
监控 网络协议 Unix
Supervisor的简单使用
Supervisor的简单使用
48 0
Supervisor的简单使用
|
监控 Linux Python
Supervisor 、Supervisord-Monitor 的web统一管理安装、配置、使用
Supervisor 安装、配置、使用、web管理,linux下进程管理系统、监听、重启、停止进程。
9222 0
|
3月前
|
监控 应用服务中间件 nginx
Supervisor快速入门 | 使用Supervisor守护Nginx进程
Supervisor快速入门 | 使用Supervisor守护Nginx进程
39 0
supervisor 安装、配置、使用
supervisor 安装、配置、使用
614 0
|
Python
Python编程:使用supervisor管理Django-Celery进程
Python编程:使用supervisor管理Django-Celery进程
|
缓存 监控 NoSQL
Python编程:supervisor模块管理进程实例
Python编程:supervisor模块管理进程实例
549 0
Python编程:supervisor模块管理进程实例
|
监控 安全 Java
使用supervisor管理你的程序
Supervisor是python开发的一种进程管理工具。不仅可以监控我们的程序还可以自动重启我们的程序,非常好用。
166 1
使用supervisor管理你的程序
|
消息中间件 API 调度
celery 常用执行命令
celery 常用执行命令详解
|
Shell Linux Python
supervisor 管理进程
        Supervisor(http://supervisord.org/)是用Python开发的一个client/server服务,是Linux/Unix系统下的一个进程管理工具,不支持Windows系统。
1134 0
Supervisor管理进程
Supervisor管理进程 转载 2016年04月14日 18:26:45 标签: supervisord 28344 Supervisor重新加载配置启动新的进程 liaojie 发布于 1年前,共有 0 条评论 一、添加好配置文件后 二、更新新的配置...
840 0