- spawnChannelSidecar: set last_heartbeat_at = NOW() when flipping channel to 'running'. Without this, last_heartbeat_at is NULL so the first scheduler tick sees ageMs = (now - epoch) >> TIMEOUT_MS and triggers failover before the sidecar has had a single chance to respond. - scheduler playoutHealthTick: when last_heartbeat_at is NULL fall back to updated_at as the baseline (belt-and-suspenders with the spawnChannelSidecar fix). Also include updated_at in the query. - POST /channels/:id/play: catch callSidecar errors explicitly and return 502 Bad Gateway instead of delegating to next(err) which the error middleware maps to 409 Conflict. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| src | ||
| test | ||
| .env.example | ||
| .gitignore | ||
| Dockerfile | ||
| package-lock.json | ||
| package.json | ||