使用supervisor后台运行celery
使用supervisor后台运行celery
- 
安装supervisorpip install supervisor
- 
生成配置文件echo_supervisord_conf > /etc/supervisord/supervisord.conf # 可自己指定位置- 
echo_supervisord_conf 如果找不到该命令。 (其实在 pip 同目录) sudo find / -name echo_supervisord_conf # 找到路径 sudo ln -s 命令路径 /usr/bin/echo_supervisord_conf # 创建软连接完成
 
- 
- 
修改配置文件vim /etc/supervisord/supervisord.conf 1. 修改最后几行 [include] ;files = /etc/supervisor/conf.d/*.conf files = /etc/supervisord/*.conf # 配置文件所在位置 [program:celeryworker] # celeryworker 这个是进程的名字,随意起 command=celery -A bookstore worker -l info # 要运行的命令 directory=/home/fhx/git_test1/bookstore/ # 运行命令的目录 numprocs=1 # 设置log的路径 stdout_logfile=/var/log/supervisor/celeryworker.log # 可以自己指定 stderr_logfile=/var/log/supervisor/celeryworker.log autostart=true # 意外退出,自动重启否 autorestart=true # 是否自动启动 startsecs=10 # 自动重启间隔 stopwaitsecs = 600 priority=15 user=root # 进程执行的用户身份 根据实际情况使用 2. 将配置文件中的 /tmp/ 替换为 /var/
- 
使用配置文件启动supervisordsupervisord -c /etc/supervisord/supervisord.conf # -c 指定配置文件即可- 
supervisord 如果找不到该命令。 (其实在 pip 同目录) sudo find / -name supervisord # 找到路径 sudo ln -s 命令路径 /usr/bin/supervisord # 创建软连接完成
- 
端口占用报错, 使用下面命令即可搞定 unlink /var/run/supervisor.sock # 或者 unlink /tmp/supervisor.sock
 
- 
- 
查看运行状态supervisorctl status status # 查看状态 reread # 读取配置信息 update # 加载最新的进程 stop # 停止进程 start # 启动进程 reload # 重新加载配置 ps -ef|grep super ps -ef|grep celery
- 
控制启动的进程数量- 
在配置文件最后,加上这两行即可。 process_name=%(program_name)s_%(process_num)02d ;多进程名称肯定不能相同,匹配多个 numprocs=4 ;启动N个进程
 
- 
 
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号