Skip to content

Commit 47a20dd

Browse files
fix(workflow): restart backend after backfill to evict doc-resolve Caffeine cache
1 parent df23329 commit 47a20dd

1 file changed

Lines changed: 21 additions & 0 deletions

File tree

.github/workflows/sync-uuid.yml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,27 @@ jobs:
155155
pnpm exec node scripts/uuid.mjs
156156
pnpm exec tsx scripts/backfill-contributors.mjs
157157
158+
# ============================================================
159+
# 4.5 清 resolver 缓存
160+
# ------------------------------------------------------------
161+
# backfill 更新了 path_current 后,后端 Caffeine 的 doc-resolve 缓存
162+
# 可能持有旧的 canonical(TTL 10min)。doc mv 后最多 10min 内旧 URL
163+
# 还是 301 到旧路径——自愈失效。
164+
# 直接重启 backend 容器是最简可靠的清缓存方式:无状态 JVM,
165+
# docker restart 约 10s 内重新 up,不影响正在处理的请求(Caddy 会重试)。
166+
# ============================================================
167+
echo "Restarting backend to evict doc-resolve cache..."
168+
docker restart involution-hell-backend
169+
# 等待后端重新 healthy(最多 30s),避免 workflow 结束后请求打到启动中的容器
170+
for i in $(seq 1 6); do
171+
STATUS=$(docker inspect --format='{{.State.Health.Status}}' involution-hell-backend 2>/dev/null || echo "unknown")
172+
if [[ "$STATUS" == "healthy" ]]; then
173+
echo "Backend healthy after ${i}×5s"
174+
break
175+
fi
176+
sleep 5
177+
done
178+
158179
# ============================================================
159180
# 5. 自动提交
160181
# ------------------------------------------------------------

0 commit comments

Comments
 (0)