Stabilize control surface and external bridge v1
This commit is contained in:
49
scripts/launch_software_only_web.sh
Executable file
49
scripts/launch_software_only_web.sh
Executable file
@@ -0,0 +1,49 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
REPO_DIR="/home/jan/Documents/RFP/Infinity_Vis_Rust"
|
||||
APP_URL="http://127.0.0.1:9001/"
|
||||
STATE_URL="http://127.0.0.1:9001/api/v1/state"
|
||||
RUNTIME_STATE_PATH="data/runtime_state.json"
|
||||
|
||||
open_browser() {
|
||||
xdg-open "$APP_URL" >/dev/null 2>&1 &
|
||||
}
|
||||
|
||||
if curl -fsS "$STATE_URL" >/dev/null 2>&1; then
|
||||
echo "Infinity Vis laeuft bereits auf $APP_URL"
|
||||
open_browser
|
||||
exit 0
|
||||
fi
|
||||
|
||||
cd "$REPO_DIR"
|
||||
. "$HOME/.cargo/env"
|
||||
|
||||
echo "Starte infinity_host_api auf $APP_URL"
|
||||
cargo run -p infinity_host_api -- \
|
||||
--config config/project.example.toml \
|
||||
--bind 127.0.0.1:9001 \
|
||||
--runtime-state "$RUNTIME_STATE_PATH" &
|
||||
SERVER_PID=$!
|
||||
|
||||
cleanup() {
|
||||
if kill -0 "$SERVER_PID" >/dev/null 2>&1; then
|
||||
kill "$SERVER_PID" >/dev/null 2>&1 || true
|
||||
wait "$SERVER_PID" >/dev/null 2>&1 || true
|
||||
fi
|
||||
}
|
||||
|
||||
trap cleanup EXIT INT TERM
|
||||
|
||||
for _attempt in $(seq 1 60); do
|
||||
if curl -fsS "$STATE_URL" >/dev/null 2>&1; then
|
||||
echo "Infinity Vis ist bereit."
|
||||
open_browser
|
||||
wait "$SERVER_PID"
|
||||
exit $?
|
||||
fi
|
||||
sleep 0.5
|
||||
done
|
||||
|
||||
echo "Der lokale API-Server wurde nicht rechtzeitig erreichbar."
|
||||
wait "$SERVER_PID"
|
||||
Reference in New Issue
Block a user