mirror of
https://github.com/unraid/webgui.git
synced 2026-04-22 18:19:14 -05:00
webGui: new watchdog service with websockets instead of ajax polling
This commit is contained in:
Executable
+36
@@ -0,0 +1,36 @@
|
||||
#!/bin/bash
|
||||
|
||||
PREV=
|
||||
while :; do
|
||||
. /var/local/emhttp/var.ini
|
||||
case $fsState in
|
||||
Stopped)
|
||||
DATA="<span class='red strong'>Array Stopped</span>"
|
||||
;;
|
||||
Starting)
|
||||
DATA="<span class='orange strong'>Array Starting</span>"
|
||||
;;
|
||||
*)
|
||||
DATA="<span class='green strong'>Array Started</span>"
|
||||
;;
|
||||
esac
|
||||
if [[ $mdResync -gt 0 ]]; then
|
||||
MODE=
|
||||
if [[ $mdResyncAction =~ recon ]]; then
|
||||
MODE='Parity-Sync / Data-Rebuild'
|
||||
elif [[ $mdResyncAction =~ clear ]]; then
|
||||
MODE='Clearing'
|
||||
elif [[ $mdResyncAction == check ]]; then
|
||||
MODE='Read-Check'
|
||||
elif [[ $mdResyncAction =~ check ]]; then
|
||||
MODE='Parity-Check'
|
||||
fi
|
||||
p=$((mdResyncPos*1000/mdResync)); w=${p:0:-1}
|
||||
DATA="$DATA•<span class='orange strong'>$MODE ${w:-0}.${p: -1} %</span>"
|
||||
fi
|
||||
if [[ $DATA != $PREV ]]; then
|
||||
curl -s -X POST -d "$DATA" http://127.0.0.1/pub/watchdog?buffer_length=1 &>/dev/null
|
||||
PREV=$DATA
|
||||
fi
|
||||
sleep 3
|
||||
done &
|
||||
Reference in New Issue
Block a user