1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 |
#install Supervisor yum install python-setuptools easy_install supervisor #check install supervisord --version #create config File and directory to hold them mkdir /etc/supervisor/conf.d echo_supervisord_conf > /etc/supervisor/supervisord.conf #create script to give service controls nano /etc/init.d/supervisord #paste into file #!/bin/bash . /etc/init.d/functions DAEMON=/usr/bin/supervisord PIDFILE=/var/run/supervisord.pid [ -x "$DAEMON" ] || exit 0 start() { echo -n "Starting supervisord: " if [ -f $PIDFILE ]; then PID=`cat $PIDFILE` echo supervisord already running: $PID exit 2; else daemon $DAEMON --pidfile=$PIDFILE -c /etc/supervisor/supervisord.conf RETVAL=$? echo [ $RETVAL -eq 0 ] && touch /var/lock/subsys/supervisord return $RETVAL fi } stop() { echo -n "Shutting down supervisord: " echo killproc -p $PIDFILE supervisord echo rm -f /var/lock/subsys/supervisord return 0 } case "$1" in start) start ;; stop) stop ;; status) status supervisord ;; restart) stop start ;; *) echo "Usage: {start|stop|status|restart}" exit 1 ;; esac exit $? #save file then make sure it is executable chmod 755 /etc/init.d/supervisord #create supervisor config file for laravel nano /etc/supervisor/conf.d/laravel-worker.conf #paste contents making changes for your setup [program:laravel-worker] process_name=%(program_name)s_%(process_num)02d command=php /home/forge/app.com/artisan queue:work sqs --sleep=3 --tries=3 autostart=true autorestart=true user=forge numprocs=8 redirect_stderr=true stdout_logfile=/home/forge/app.com/worker.log #update main supervisor config to include all configs inside conf.d dir nano /etc/supervisor/supervisord.conf #uncomment files area [include] files = conf.d/*.conf #add supervisor to chkservd nano /etc/chkserv.d/supervisord service[supervisord]=x,x,x,/etc/init.d/supervisord restart,supervisord,root|supervisord #Add this line to /etc/chkserv.d/chkservd.conf supervisord:1 #If you need to /scripts/restartsrv_tailwatchd as chkservd is now a part of tailwatch #useful commands service supervisord start service supervisord stop service supervisord status service supervisord restart #reread config supervisorctl reread #update reread supervisorctl update |