dgx-harness-engineering / scripts /wan22 /wan22_api_worker.sh
koreallmdev's picture
Upload anonymized DGX harness engineering export V1.4 (part 3)
0236599 verified
Raw
History Blame Contribute Delete
1.08 kB
#!/usr/bin/env bash
set -Eeuo pipefail
JOBDIR="$1"
LAUNCHER="$2"
TASK="$3"
PROMPT="$4"
RESOLUTION="$5"
FRAMES="$6"
STEPS="$7"
SEED="$8"
IMAGE="${9:-}"
status(){
python3 - "$JOBDIR/status.json" "$1" "$2" "${3:-}" <<'PY'
import json, sys, time
from pathlib import Path
p=Path(sys.argv[1])
data={"status":sys.argv[2],"message":sys.argv[3],"updated_at":time.time()}
if len(sys.argv)>4 and sys.argv[4]:
data["video"]=sys.argv[4]
p.write_text(json.dumps(data,ensure_ascii=False,indent=2),encoding="utf-8")
PY
}
status running "generation started"
OUT="$JOBDIR/worker.log"
set +e
if [[ "$TASK" == "t2v" ]]; then
"$LAUNCHER" t2v "$PROMPT" "$RESOLUTION" "$FRAMES" "$STEPS" "$SEED" "" "" >"$OUT" 2>&1
else
"$LAUNCHER" i2v "$PROMPT" "$RESOLUTION" "$FRAMES" "$STEPS" "$SEED" "$IMAGE" "" >"$OUT" 2>&1
fi
RC=$?
set -e
if [[ "$RC" -ne 0 ]]; then
status failed "launcher rc=$RC"
exit "$RC"
fi
VIDEO="$(sed -n 's/^VIDEO=//p' "$OUT" | tail -n1)"
[[ -f "$VIDEO" ]] || { status failed "launcher passed but video missing"; exit 90; }
status completed "generation completed" "$VIDEO"