1. 程式人生 > >通過Linux定時任務加shell指令碼檢測RabbitMQ消費者執行狀況以及自啟

通過Linux定時任務加shell指令碼檢測RabbitMQ消費者執行狀況以及自啟

目的:防止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