当前位置:网站首页>supervisor监控Gearman任务
supervisor监控Gearman任务
2022-07-03 17:47:00 【星哥玩云】
安装supervisor方法,可以直接用 yum install supervisord ,但是版本可能会旧一点,可以参考官方的方法: easy_install supervisor
http://supervisord.org/installing.html#installing-to-a-system-with-internet-access
加入service, vim /etc/init.d/supervisord , 修改文件属性为可执行chmod 777 /etc/init.d/supervisord
#!/bin/bash # # supervisord This scripts turns supervisord on # # Author: Mike McGrath <[email protected]> (based off yumupdatesd) # Jason Koppe <[email protected]> adjusted to read sysconfig, # use supervisord tools to start/stop, conditionally wait # for child processes to shutdown, and startup later # # chkconfig: 345 83 04 # # description: supervisor is a process control utility. It has a web based # xmlrpc interface as well as a few other nifty features. # processname: supervisord # config: /etc/supervisord.conf # pidfile: /var/run/supervisord.pid #
# source function library . /etc/rc.d/init.d/functions
# source system settings [ -e /etc/sysconfig/supervisord ] && . /etc/sysconfig/supervisord
RETVAL=0
start() { echo "Starting supervisord: " if [ -e $PIDFILE ]; then echo "ALREADY STARTED" return 1 fi
# start supervisord with options from sysconfig (stuff like -c) /usr/bin/supervisord $OPTIONS # show initial startup status /usr/bin/supervisorctl $OPTIONS status # only create the subsyslock if we created the PIDFILE [ -e $PIDFILE ] && touch /var/lock/subsys/supervisord }
stop() { echo -n "Stopping supervisord: " /usr/bin/supervisorctl $OPTIONS shutdown if [ -n "$WAIT_FOR_SUBPROCESSES" ]; then echo "Waiting roughly 60 seconds for $PIDFILE to be removed after child processes exit" for sleep in 2 2 2 2 4 4 4 4 8 8 8 8 last; do if [ ! -e $PIDFILE ] ; then echo "Supervisord exited as expected in under $total_sleep seconds" break else if [[ $sleep -eq "last" ]] ; then echo "Supervisord still working on shutting down. We've waited roughly 60 seconds, we'll let it do its thing from here" return 1 else sleep $sleep total_sleep=$(( $total_sleep + $sleep )) fi
fi done fi
# always remove the subsys. we might have waited a while, but just remove it at this point. rm -f /var/lock/subsys/supervisord }
restart() { stop start }
case "$1" in start) start RETVAL=$? ;; stop) stop RETVAL=$? ;; restart|force-reload) restart RETVAL=$? ;; reload) /usr/bin/supervisorctl $OPTIONS reload RETVAL=$? ;; condrestart) [ -f /var/lock/subsys/supervisord ] && restart RETVAL=$? ;; status) /usr/bin/supervisorctl $OPTIONS status RETVAL=$? ;; *) echo $"Usage: $0 {start|stop|status|restart|reload|force-reload|condrestart}" exit 1 esac
exit $RETVAL
配置一下,echo_supervisord_conf > /etc/supervisord.conf
加入gearman的任务,下面是百度云推送的任务
vim /etc/supervisord.conf
[program:APNS_PUSH] command=/usr/bin/php /data2/www/web/apns/worker_origin.php process_name=APNS_PUSH_%(process_num)s numprocs=2 autostart=true autorestart=true user=nginx stdout_logfile=/data2/log/push/push_%(process_num)s.log stderr_logfile=/data2/log/push/push.error.log
下面先启动gearman,启动supervisord,ps -ef |grep xxx 查看一下任务有没有执行
另外,也可以使用gearman-monitor来查看gearman任务状态
边栏推荐
- Analyse ArrayList 3: suppression d'éléments
- [combinatorics] recursive equation (special solution form | special solution solving method | special solution example)
- ArrayList analysis 3: delete elements
- AcWing 3438. 数制转换
- A day's work list of an ordinary programmer
- Research Report on market demand and investment planning for the development of China's office chair industry, 2022-2028
- PUT vs. POST for Uploading Files - RESTful API to be Built Using Zend Framework
- Ml (machine learning) softmax function to realize the classification of simple movie categories
- Qt调节Win屏幕亮度和声音大小
- PR second time
猜你喜欢
鸿蒙第四次培训
微服务组件Sentinel控制台调用
Talk about the design and implementation logic of payment process
Swm32 series Tutorial 4 port mapping and serial port application
Draw some simple graphics with MFC
[RT thread] NXP rt10xx device driver framework -- Audio construction and use
Introduction to SolidWorks gear design software tool geartrax
Interviewer: why is the value nil not equal to nil?
Vs2013 has blocked the installer, and ie10 needs to be installed
国内如何购买Google Colab会员
随机推荐
基于人脸识别的课堂考勤系统 tkinter+openpyxl+face_recognition
Leetcode 538 converts binary search tree into cumulative tree -- recursive method and iterative method
The third day of writing C language by Yabo people
UE4 official charging resources, with a total price of several thousand
MySQL grouping query
PHP returns 500 errors but no error log - PHP return 500 error but no error log
c# .net 工具生态
Kotlin的协程:上下文
[combinatorics] recursive equation (the non-homogeneous part is an exponential function and the bottom is the characteristic root | example of finding a special solution)
Investigation on the operation prospect of the global and Chinese Anti enkephalinase market and analysis report on the investment strategy of the 14th five year plan 2022-2028
Interviewer: why is the value nil not equal to nil?
How to read the source code [debug and observe the source code]
Qt调节Win屏幕亮度和声音大小
How to deploy applications on kubernetes cluster
QT learning diary 9 - dialog box
Mathematical formula (test)
2021 ICPC regional competition (Shanghai) g.edge groups (tree DP)
[mathematical logic] equivalent calculus and reasoning calculus of predicate logic (individual word | predicate | quantifier | predicate logic formula | two basic formulas | proposition symbolization
Classroom attendance system based on face recognition tkinter+openpyxl+face_ recognition
c# . Net tool ecosystem