Merge pull request #317 from jmherbst/restart-services
Making restart_services.sh faster and more consistent
This commit is contained in:
+37
-12
@@ -4,23 +4,48 @@ source /etc/birdnet/birdnet.conf
|
|||||||
set -x
|
set -x
|
||||||
my_dir=$HOME/BirdNET-Pi/scripts
|
my_dir=$HOME/BirdNET-Pi/scripts
|
||||||
|
|
||||||
|
|
||||||
sudo systemctl stop birdnet_server.service
|
sudo systemctl stop birdnet_server.service
|
||||||
sudo pkill server.py
|
|
||||||
sudo systemctl stop birdnet_recording.service
|
sudo systemctl stop birdnet_recording.service
|
||||||
|
|
||||||
services=(web_terminal.service
|
services=(web_terminal.service
|
||||||
spectrogram_viewer.service
|
spectrogram_viewer.service
|
||||||
livestream.service
|
livestream.service
|
||||||
icecast2.service
|
icecast2.service
|
||||||
extraction.service
|
extraction.service
|
||||||
chart_viewer.service
|
chart_viewer.service
|
||||||
birdnet_recording.service
|
birdnet_recording.service
|
||||||
birdnet_log.service)
|
birdnet_log.service)
|
||||||
|
|
||||||
for i in "${services[@]}";do
|
for i in "${services[@]}";do
|
||||||
sudo systemctl restart "${i}"
|
sudo systemctl restart "${i}"
|
||||||
done
|
done
|
||||||
until grep 5050 <(netstat -tulpn 2>&1);do
|
|
||||||
sudo systemctl restart birdnet_server.service
|
sudo systemctl start birdnet_server.service
|
||||||
sleep 45
|
sleep 5
|
||||||
|
|
||||||
|
for i in {1..5}; do
|
||||||
|
# We want to loop here (5*5seconds) until the server is running and listening on its port
|
||||||
|
systemctl is-active --quiet birdnet_server.service \
|
||||||
|
&& grep 5050 <(netstat -tulpn 2>&1) \
|
||||||
|
&& logger "[$0] birdnet_server.service is running" \
|
||||||
|
&& break
|
||||||
|
|
||||||
|
sleep 5
|
||||||
done
|
done
|
||||||
|
|
||||||
|
# Let's check a final time to ensure the server is running
|
||||||
|
systemctl is-active --quiet birdnet_server.service && grep 5050 <(netstat -tulpn 2>&1)
|
||||||
|
status=$?
|
||||||
|
|
||||||
|
if (( status != 0 )); then
|
||||||
|
logger "[$0] Unable to start birdnet_server.service... Looping until it start properly"
|
||||||
|
|
||||||
|
until grep 5050 <(netstat -tulpn 2>&1);do
|
||||||
|
sudo systemctl restart birdnet_server.service
|
||||||
|
sleep 45
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Finally start the birdnet_analysis.service
|
||||||
sudo systemctl restart birdnet_analysis.service
|
sudo systemctl restart birdnet_analysis.service
|
||||||
|
|||||||
@@ -30,6 +30,8 @@ FORMAT = 'utf-8'
|
|||||||
DISCONNECT_MESSAGE = "!DISCONNECT"
|
DISCONNECT_MESSAGE = "!DISCONNECT"
|
||||||
|
|
||||||
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||||
|
server.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
server.bind(ADDR)
|
server.bind(ADDR)
|
||||||
except BaseException:
|
except BaseException:
|
||||||
|
|||||||
@@ -72,3 +72,5 @@ then
|
|||||||
-d $HOME/BirdNET-Pi/model
|
-d $HOME/BirdNET-Pi/model
|
||||||
mv $HOME/BirdNET-Pi/model/labels_en.txt $HOME/BirdNET-Pi/model/labels.txt
|
mv $HOME/BirdNET-Pi/model/labels_en.txt $HOME/BirdNET-Pi/model/labels.txt
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
sudo systemctl daemon-reload
|
||||||
|
|||||||
Reference in New Issue
Block a user