fix(deploy): review fixes — smoke photoId field, web healthcheck wget, outbox table name, cdn key shape

Reviewer findings on p5-prep batch:
1. BLOCKING: prod-smoke.sh visibility grep used "id" but API items
   serialize photoId (cn public.service / ov public-ov.service) — every
   healthy deployment would false-FAIL release gate ④. 4 sites fixed.
2. web/web-ov healthchecks used curl on nginx:alpine (absent) → perpetual
   false-unhealthy; switched to busybox wget.
3. RUNBOOK rollback rule cited nonexistent sync_outbox → outbox_events.
4. cdn-checklist invalidation sample key shape aligned to actual
   variantsObjectKey layout (.../albums/{albumId}/variants/{photoId}/{version}/{variant}.jpg).

Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
浅念
2026-09-21 02:03:44 +08:00
parent d01cecd2f6
commit c26d6b9a73
5 changed files with 9 additions and 9 deletions
+4 -4
View File
@@ -156,12 +156,12 @@ fi
echo "-- ④ 公开读轮询至可见(≤${WAIT_SECONDS}s;worker 变体流水线 + 发布事务为异步)"
if [ "$DRY_RUN" -eq 1 ]; then
echo " 轮询 GET $BASE_CN/v1/public/albums/$PUBLIC_TOKEN/photos(间隔 2s)直到响应含 \"id\":\"$PHOTO_ID\""
echo " 轮询 GET $BASE_CN/v1/public/albums/$PUBLIC_TOKEN/photos(间隔 2s)直到响应含 \"photoId\":\"$PHOTO_ID\""
else
SEEN_CN=0; WAITED=0
while [ "$WAITED" -le "$WAIT_SECONDS" ]; do
http GET "$BASE_CN/v1/public/albums/$PUBLIC_TOKEN/photos" 200 || true
if [ -n "$PHOTO_ID" ] && printf '%s' "$BODY" | grep -q "\"id\":\"$PHOTO_ID\""; then SEEN_CN=1; break; fi
if [ -n "$PHOTO_ID" ] && printf '%s' "$BODY" | grep -q "\"photoId\":\"$PHOTO_ID\""; then SEEN_CN=1; break; fi
sleep 2; WAITED=$((WAITED + 2))
done
if [ "$SEEN_CN" -eq 1 ]; then step_pass "cn 公开可见(${WAITED}s)"; else step_fail "cn 公开可见超时 ${WAIT_SECONDS}s(查 worker 日志)"; fi
@@ -170,12 +170,12 @@ fi
if [ "$SKIP_OV" -eq 0 ]; then
echo "-- ④' ov 侧公开读确认(cn→ov 同步:推送 2s 间隔 + 对账 5min 兜底)"
if [ "$DRY_RUN" -eq 1 ]; then
echo " 轮询 GET $BASE_OV/v1/public/albums/$PUBLIC_TOKEN/photos(间隔 2s)直到响应含 \"id\":\"$PHOTO_ID\""
echo " 轮询 GET $BASE_OV/v1/public/albums/$PUBLIC_TOKEN/photos(间隔 2s)直到响应含 \"photoId\":\"$PHOTO_ID\""
else
SEEN_OV=0; WAITED=0
while [ "$WAITED" -le "$WAIT_SECONDS" ]; do
http GET "$BASE_OV/v1/public/albums/$PUBLIC_TOKEN/photos" 200 || true
if [ -n "$PHOTO_ID" ] && printf '%s' "$BODY" | grep -q "\"id\":\"$PHOTO_ID\""; then SEEN_OV=1; break; fi
if [ -n "$PHOTO_ID" ] && printf '%s' "$BODY" | grep -q "\"photoId\":\"$PHOTO_ID\""; then SEEN_OV=1; break; fi
sleep 2; WAITED=$((WAITED + 2))
done
if [ "$SEEN_OV" -eq 1 ]; then step_pass "ov 公开可见(同步链路端到端,${WAITED}s)"; else step_fail "ov 公开可见超时 ${WAIT_SECONDS}s(查 sync 日志 / RUNBOOK §5.1)"; fi