Skip to content

Claude/fix websocket timeout h gi xc - #5

Merged
czzs merged 2 commits into
mainfrom
claude/fix-websocket-timeout-hGiXc
Jan 28, 2026
Merged

Claude/fix websocket timeout h gi xc#5
czzs merged 2 commits into
mainfrom
claude/fix-websocket-timeout-hGiXc

Conversation

@czzs

@czzs czzs commented Jan 28, 2026

Copy link
Copy Markdown
Owner

Motivation

Issues closed

The ws.recv() call previously blocked indefinitely with no timeout,
causing RunPod jobs to fail with "WebSocket message timeout after 60.0
seconds" on heavy workloads like video frame interpolation.

- Add WEBSOCKET_MESSAGE_TIMEOUT env var (default 600s / 10 minutes)
- Set ws.settimeout() after initial connect and after reconnect
- On timeout, probe ComfyUI HTTP health before resuming the wait;
  fail fast if the server has become unreachable

https://claude.ai/code/session_01TXa8rubsUoz56PV36fLRpS
On timeout, before deciding whether to keep waiting or fail, poll
ComfyUI's /queue endpoint to check if the job is still actively
running or pending. This matches the fix applied to the regular GPU
server's generation_worker.py.

Timeout handler now follows this decision tree:
1. ComfyUI HTTP unreachable → fail immediately
2. Job still in /queue (running/pending) → continue waiting
3. Queue check failed (network blip) → continue (benefit of doubt)
4. Job NOT in queue and NOT completed → fail with clear error

https://claude.ai/code/session_01TXa8rubsUoz56PV36fLRpS
@czzs
czzs merged commit 39e0fef into main Jan 28, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants