mirror of
https://github.com/openswarm-ai/openswarm.git
synced 2026-08-29 19:29:48 +02:00
34 lines
1.3 KiB
Bash
Executable File
34 lines
1.3 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Restart this app's runtime (backend + vite), managed by the OpenSwarm harness.
|
|
#
|
|
# The runtime is spawned and owned by OpenSwarm, so you can't just kill/rerun
|
|
# run.sh from here. This script writes a sentinel the harness watches; the
|
|
# harness consumes it and restarts the whole runtime. No API token needed.
|
|
# Use after `bash backend_init.sh`, after editing `.env`, or whenever the
|
|
# backend must reload code/schema (uvicorn runs WITHOUT --reload on purpose).
|
|
|
|
set -euo pipefail
|
|
HERE="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
mkdir -p "$HERE/.openswarm"
|
|
SENTINEL="$HERE/.openswarm/restart-requested"
|
|
touch "$SENTINEL"
|
|
echo "Restart requested; waiting for the OpenSwarm harness to pick it up..."
|
|
|
|
for _ in $(seq 1 30); do
|
|
if [[ ! -f "$SENTINEL" ]]; then
|
|
echo "Restart under way. The runtime takes a few seconds to come back;"
|
|
echo "then check .openswarm/terminal.log for boot output:"
|
|
sleep 6
|
|
tail -n 20 "$HERE/.openswarm/terminal.log" 2>/dev/null || true
|
|
exit 0
|
|
fi
|
|
sleep 1
|
|
done
|
|
|
|
rm -f "$SENTINEL"
|
|
echo "ERROR: the harness didn't pick up the restart within 30s." >&2
|
|
echo "The runtime only runs while the app is open in OpenSwarm (preview card or" >&2
|
|
echo "App Builder). If you're running this app standalone via 'bash run.sh'," >&2
|
|
echo "just Ctrl-C that process and rerun it instead." >&2
|
|
exit 1
|