restart services if analysis hangs

This commit is contained in:
ehpersonal38
2023-02-16 14:56:13 -05:00
parent 973a4b3d4c
commit 5cd885b24c
+24 -9
View File
@@ -40,10 +40,10 @@ if [ ! -f ${EXCLUDE_LIST} ];then
chmod g+rw ${EXCLUDE_LIST} chmod g+rw ${EXCLUDE_LIST}
fi fi
if [ "$(du ${INCLUDE_LIST} | awk '{print $1}')" -lt 4 ];then if [ "$(du ${INCLUDE_LIST} | awk '{print $1}')" -lt 4 ];then
INCLUDE_LIST=null INCLUDE_LIST=null
fi fi
if [ "$(du ${EXCLUDE_LIST} | awk '{print $1}')" -lt 4 ];then if [ "$(du ${EXCLUDE_LIST} | awk '{print $1}')" -lt 4 ];then
EXCLUDE_LIST=null EXCLUDE_LIST=null
fi fi
# Create an array of the audio files # Create an array of the audio files
@@ -140,7 +140,7 @@ run_analysis() {
${INCLUDEPARAM} \ ${INCLUDEPARAM} \
${EXCLUDEPARAM} \ ${EXCLUDEPARAM} \
${BIRDWEATHER_ID_LOG} ${BIRDWEATHER_ID_LOG}
$PYTHON_VIRTUAL_ENV $DIR/analyze.py \ output=$($PYTHON_VIRTUAL_ENV $DIR/analyze.py \
--i "${1}/${i}" \ --i "${1}/${i}" \
--o "${1}/${i}.csv" \ --o "${1}/${i}.csv" \
--lat "${LATITUDE}" \ --lat "${LATITUDE}" \
@@ -151,11 +151,19 @@ ${BIRDWEATHER_ID_LOG}
--min_conf "${CONFIDENCE}" \ --min_conf "${CONFIDENCE}" \
${INCLUDEPARAM} \ ${INCLUDEPARAM} \
${EXCLUDEPARAM} \ ${EXCLUDEPARAM} \
${BIRDWEATHER_ID_PARAM} ${BIRDWEATHER_ID_PARAM})
if [ ! -z $HEARTBEAT_URL ]; then
echo "Performing Heartbeat" echo -e "${output}"
IP=`curl -s ${HEARTBEAT_URL}`
echo "Heartbeat: $IP" if [ -z "$output" ] || [ "${#output}" -lt 5 ]; then
echo "BirdNET Analysis Server is hung or down, attempting to restart it..."
sudo ~/BirdNET-Pi/scripts/restart_services.sh
else
if [ ! -z $HEARTBEAT_URL ]; then
echo "Performing Heartbeat"
IP=`curl -s ${HEARTBEAT_URL}`
echo "Heartbeat: $IP"
fi
fi fi
done done
} }
@@ -169,8 +177,15 @@ run_birdnet() {
run_analysis "${1}" run_analysis "${1}"
} }
until grep 5050 <(netstat -tulpn 2>&1) &> /dev/null 2>&1;do count=0
until grep 5050 <(netstat -tulpn 2>&1) &> /dev/null 2>&1; do
sleep 1 sleep 1
count=$((count+1))
if [[ $count -eq 30 ]]; then
echo "BirdNET Analysis Server is hung or down, attempting to restart it..."
sudo ~/BirdNET-Pi/scripts/restart_services.sh
count=0
fi
done done
if [ $(find ${RECS_DIR}/StreamData -maxdepth 1 -name '*wav' 2>/dev/null| wc -l) -gt 0 ];then if [ $(find ${RECS_DIR}/StreamData -maxdepth 1 -name '*wav' 2>/dev/null| wc -l) -gt 0 ];then