공개 런타임 워치독 창·복구 결함 3건 수정
재부팅 뒤 워치독이 5분마다 콘솔 창에 실패만 뿌리던 문제의 원인 세 가지를 고친다. - 워치독이 DB 다운을 감지하고 직접 복구한다. postgres(vignette-dev-db) 기동은 boot 담당이라 start-public-runtime.ps1 재호출로는 절대 복구되지 않았고, 그 결과 워치독은 고칠 수 없는 대상에 start를 무한 재시도하며 실패만 기록했다. db를 health check 항목에 넣고, 재시작 전에 컨테이너를 되살리며, 복구 실패 시에는 runtime 재시작을 시도하지 않고 종료한다. - 작업 액션을 wscript 런처(watch-public-runtime-task.vbs) 경유로 등록한다. powershell.exe를 직접 등록하면 -WindowStyle Hidden이어도 conhost 창이 매 실행 번쩍이고, 5분 주기에서는 그것이 곧 화면을 가리는 창이 된다. 런처는 pin 인자를 해석하지 않고 전달만 하며 provenance 검증은 기존대로 watchdog이 수행한다. - boot이 web preview 상태를 보고 -SkipWebRestart를 조건부로 붙인다. 무조건 스킵하면 재부팅 직후처럼 vite가 죽은 상태에서 boot 경로로는 web이 영영 복구되지 않았다. hidden trigger는 액션이 wscript 런처를 거치는지 함께 검증하도록 맞췄다.
This commit is contained in:
parent
80bcacc723
commit
5cb530e153
7 changed files with 184 additions and 28 deletions
|
|
@ -129,13 +129,20 @@ LastTaskResult=0과 stable release root의 public-runtime-watchdog.failcount=0
|
|||
|
||||
## 숨김 수동 Trigger
|
||||
|
||||
watch-public-runtime-hidden.vbs는 source script를 직접 실행하지 않는다. 등록된 watchdog task action에
|
||||
StableSourceRoot, commit, tree, watchdog SHA, start SHA marker가 모두 있고 legacy Workspace action이 아님을
|
||||
검사한 뒤 Start-ScheduledTask만 호출한다.
|
||||
watch-public-runtime-hidden.vbs는 source script를 직접 실행하지 않는다. 등록된 watchdog task action이
|
||||
wscript 런처(watch-public-runtime-task.vbs)를 거치고 StableSourceRoot, commit, tree, watchdog SHA,
|
||||
start SHA marker가 모두 있으며 legacy Workspace action이 아님을 검사한 뒤 Start-ScheduledTask만 호출한다.
|
||||
|
||||
cscript.exe //nologo scripts\watch-public-runtime-hidden.vbs
|
||||
|
||||
task가 아직 legacy shared-worktree action이면 VBS도 fail-closed한다.
|
||||
task가 아직 legacy shared-worktree action이거나 powershell.exe를 직접 실행하도록 등록돼 있으면 VBS도 fail-closed한다.
|
||||
|
||||
## Task Action이 wscript 런처를 거치는 이유
|
||||
|
||||
install-public-runtime-task.ps1은 액션을 `wscript.exe "<root>\scripts\watch-public-runtime-task.vbs" -File ...`로
|
||||
등록한다. powershell.exe를 액션으로 직접 등록하면 `-WindowStyle Hidden`을 붙여도 conhost 창이 실행 순간
|
||||
번쩍이고, 5분 주기 watchdog에서는 그것이 곧 "5분마다 화면에 뜨는 콘솔 창"이 된다(2026-08-08/09/12 세 번 재발).
|
||||
런처는 pin 인자를 해석하지 않고 그대로 전달만 하며, provenance 검증은 watch-public-runtime.ps1이 수행한다.
|
||||
|
||||
## Manual Source Recovery
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue