通過Linux定時任務加shell指令碼檢測RabbitMQ消費者執行狀況以及自啟
阿新 • • 發佈:2018-12-14
目的:防止RabbitMQ消費者程序中斷影響業務
1、編寫 rabbitmq_consumer.php消費者檔案
(關於消費者和生產者請移步:https://blog.csdn.net/why444216978/article/details/84987011)
2、編寫shell指令碼 check_php_runing.sh 定時檢測消費者而啟動情況,如未啟動則啟動
#!/bin/sh pro=$(ps -ef | grep $1 |grep -v grep | grep -v "$0") #過濾出目標程序資訊,如果pro為空串說明目標程序未執行 #反向過濾掉grep程序 和 本程序資訊, 因為這兩個程序資訊中包含目標程序的名字 if [ -z "$pro" ] then echo "$(date):$1程式未啟動,重新啟動程式" "/usr/local/php/bin/php" $1 else echo "$(date):$1程式正在執行" fi sleep 0.5
3、更改定時任務列表
(定時任務相關操作請移步:https://blog.csdn.net/why444216978/article/details/83748136)
* * * * * sh /usr/local/nginx/html/queen/check_php_runing.sh /usr/local/nginx/html/queen/rabbitmq_consumer.php >> /usr/local/nginx/html/queen/logs/check_php_runing.log