使用supervisor监控执行python脚本

下载supervisor

yum install -y epel-release
yum install supervisor

修改配置文件

[root@hdp22 ~]# cat /etc/supervisord.conf 
; Sample supervisor config file.

[unix_http_server]
file=/var/run/supervisor/supervisor.sock   ; (the path to the socket file)
chmod=0700                 ; sockef file mode (default 0700)
chown=root:root       ; socket file uid:gid owner
username=root              ; (default is no username (open server))
password=******              ; (default is no password (open server))
# 配置web页面
[inet_http_server]         ; inet (TCP) server disabled by default
port=hdp22:9001        ; (ip_address:port specifier, *:port for all iface)
username=root              ; (default is no username (open server))
password=******          ; (default is no password (open server))

[supervisord]
logfile=/var/log/supervisord.log ; main log file; default $CWD/supervisord.log
logfile_maxbytes=50MB        ; max main logfile bytes b4 rotation; default 50MB
logfile_backups=10           ; # of main logfile backups; 0 means none, default 10
loglevel=info                ; log level; default info; others: debug,warn,trace
pidfile=/var/run/supervisor/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
[supervisorctl]
serverurl=unix:///var/run/supervisor/supervisor.sock ; use a unix:// URL  for a unix socket

[include]
files = supervisord.d/*.ini

子进程配置

[root@hdp22 supervisord.d]# cat /etc/supervisord.d/bili_crawl.ini 
[program:sio]
command=/root/anaconda3/envs/pykfk/bin/python /app/python/main.py 22047448
process_name=sio
numprocs=1
umask=022
;directory=/
autostart=true
autorestart=true
startsecs=10
startretries=3
user=root
exitcodes=0,2
stopsignal=TERM
redirect_stderr=false
stdout_logfile=/var/log/sio.log
stdout_logfile_maxbytes=1MB
stdout_logfile_backups=10
stdout_capture_maxbytes=1MB
stderr_logfile=/var/log/sio_err.log
stderr_logfile_maxbytes=1MB
stderr_logfile_backups=10
stderr_capture_maxbytes=1MB

启动

systemctl start supervisord.service     //启动supervisor并加载默认配置文件
systemctl enable supervisord.service    //将supervisor加入开机启动项

查看任务

[root@hdp22 supervisord.d]# supervisorctl
Server requires authentication
Username:root
Password:

sio                              RUNNING   pid 11068, uptime 2 days, 1:34:17
# 查看任务
supervisor> status
# 更新配置文件添加的任务
 supervisor> update

从web登录查看任务
http://hdp22:9001/
web页面.png

参考资料

https://www.jianshu.com/p/0b9054b33db3

posted @ 2023-04-24 12:02  RAmenLCH  阅读(135)  评论(0)    收藏  举报