fix(cd): 讓 HUP 熱重載載入新版 app
All checks were successful
CD Pipeline / deploy (push) Successful in 9m40s

This commit is contained in:
OoO
2026-04-30 15:17:00 +08:00
parent f282ddc18c
commit 8b4fafdf13
8 changed files with 18 additions and 9 deletions

View File

@@ -51,7 +51,7 @@
- Monitoring compose 的 cAdvisor 只需在 `monitoring` network 內提供 `cadvisor:8080` 給 Prometheus不應綁定 host `8080`避免與其他服務衝突blackbox target 需要 `blackbox-exporter` 容器存在於同一 network。
- 2026-04-30 線上驗證:目前 active MOMO UAT blackbox target 只保留 `https://mo.wooo.work``momo.wooo.work``wooo.work` 需等 DNS/Nginx 恢復後再加入 active monitoring。
- 110 Gitea runner 必須只宣告 `ewoooc-host` label若混入 `ubuntu-latest` / `awoooi-host`EWOOOC 與 AWOOOI workflows 會互相搶同一個 runner導致推版卡住或跨專案污染。
- CD sync 模式應對 `momo-pro-system` 發 Gunicorn `HUP` 熱重載,不重啟 app 容器scheduler / telegram-bot 才用 compose restart,避免每次一般程式碼推版都產生短暫 502
- CD sync 模式應對 `momo-pro-system` 發 Gunicorn `HUP` 熱重載,不重啟 app 容器scheduler / telegram-bot 才用 compose restart。Gunicorn 必須維持 `preload_app = False`,否則 HUP 只重啟 worker、但 app object 仍來自舊 master 預載程式碼
- App container 的 runtime `gunicorn.conf.py``docker-compose.yml` bind mount若未來改 gunicorn 設定,不應再手動 `docker cp` 作為常態流程。
## 驗證紀錄

View File

@@ -50,7 +50,7 @@
- **Active blackbox target 降噪**: 線上 Nginx 與 curl 驗證目前有效 MOMO 入口為 `https://mo.wooo.work``momo.wooo.work` 逾時、`wooo.work` DNS 不解析,先從 active UAT blackbox targets 移除,避免舊域名噪音誤導告警。
- **action_plans schema drift 修復**: CodeReview pipeline 寫入 action plan 時發現線上表只有 NemoTron Group B 欄位;啟動期 PostgreSQL metadata repair 會補 `action_type` / `description` / `priority` / `metadata_json` 與 index恢復 AI code review action plan 閉環。
- **Gitea runner label 隔離**: EWOOOC CD workflow 改用 `ewoooc-host`110 的 `/home/wooo/act-runner` runner config 必須只宣告 `ewoooc-host`,避免 user-level runner 混接 AWOOOI workflow。
- **CD sync hot reload**: 一般 Python/模板同步不再 `restart momo-app`,改為 `docker kill -s HUP momo-pro-system` 讓 Gunicorn 熱重載 workers只重啟 scheduler / telegram-bot,降低推版 502 窗口
- **CD sync hot reload**: 一般 Python/模板同步不再 `restart momo-app`,改為 `docker kill -s HUP momo-pro-system` 讓 Gunicorn 熱重載 workers只重啟 scheduler / telegram-botGunicorn 關閉 `preload_app`,確保 HUP 後 workers 會 import 新版 app code
### 2026-04-28~29Phase 3e 重構大戰 + daily_sales cache 隱形 bug 根除
- **app.py 縮減 -10.8%**: 7,386 → 6,590 行11 commits 全綠零 502。