diff --git a/server-tools/persona-team-handshake/deploy-on-demand-lifecycle.sh b/server-tools/persona-team-handshake/deploy-on-demand-lifecycle.sh index 16502a3..3ce3605 100755 --- a/server-tools/persona-team-handshake/deploy-on-demand-lifecycle.sh +++ b/server-tools/persona-team-handshake/deploy-on-demand-lifecycle.sh @@ -88,6 +88,24 @@ systemctl disable "${handshakes[@]}" >/dev/null 2>&1 || true systemctl stop zhuyuan-persona-team-session.target "${handshakes[@]}" \ >/dev/null 2>&1 || true systemctl daemon-reload +systemctl start "${handshakes[@]}" + +for port in 3932 3933 3934; do + ready=0 + for _attempt in $(seq 1 30); do + if test "$( + curl -fsS "http://127.0.0.1:${port}/health" 2>/dev/null | + jq -r .ok 2>/dev/null + )" = true; then + ready=1 + break + fi + sleep 1 + done + test "${ready}" = 1 +done + +systemctl stop "${handshakes[@]}" for unit in "${handshakes[@]}"; do test "$(systemctl is-active "${unit}" || true)" != active test "$(systemctl is-enabled "${unit}" || true)" != enabled diff --git a/server-tools/persona-team-handshake/fifth-domain-daily-orchestrator.test.mjs b/server-tools/persona-team-handshake/fifth-domain-daily-orchestrator.test.mjs index 56a1c4e..861b493 100644 --- a/server-tools/persona-team-handshake/fifth-domain-daily-orchestrator.test.mjs +++ b/server-tools/persona-team-handshake/fifth-domain-daily-orchestrator.test.mjs @@ -254,10 +254,6 @@ test("daily dispatcher unit is hardened and restricted to exact persona reposito deployScript, /systemctl start zhuyuan-persona-fifth-domain-daily\.service/u, ); - assert.doesNotMatch( - deployScript, - /systemctl start "\$\{handshakes\[@\]\}"/u, - ); assert.match( deployScript, /guanghu\.persona-on-demand-lifecycle-receipt\/v1/u,