30 lines
717 B
Bash
Executable file
30 lines
717 B
Bash
Executable file
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
LOG_CODER=$(mktemp /tmp/coder_XXXXXX.log)
|
|
LOG_JUDGE=$(mktemp /tmp/judge_XXXXXX.log)
|
|
|
|
echo "[*] Starte beide Server parallel ..."
|
|
bash "$SCRIPT_DIR/start-coder.sh" > "$LOG_CODER" 2>&1 &
|
|
PID_CODER=$!
|
|
bash "$SCRIPT_DIR/start-judge.sh" > "$LOG_JUDGE" 2>&1 &
|
|
PID_JUDGE=$!
|
|
|
|
wait_result() {
|
|
local PID="$1" NAME="$2" LOG="$3"
|
|
if wait "$PID"; then
|
|
echo "[✓] $NAME bereit"
|
|
else
|
|
echo "[✗] $NAME fehlgeschlagen — Log:"
|
|
cat "$LOG"
|
|
return 1
|
|
fi
|
|
}
|
|
|
|
RC=0
|
|
wait_result "$PID_CODER" "Coder (:8001)" "$LOG_CODER" || RC=1
|
|
wait_result "$PID_JUDGE" "Judge (:8002)" "$LOG_JUDGE" || RC=1
|
|
|
|
rm -f "$LOG_CODER" "$LOG_JUDGE"
|
|
exit $RC
|