signal-silence
A signal the host declared as periodic has gone quiet — the process that should emit it is down, paused, or wedged, and nothing downstream will say so on its own.
Some heartbeats are supposed to tick forever. When one stops, no error fires anywhere — the watchdog exists to turn that silence into an alarm.
Source src/ops/detect.tssrc/ops/supervisor.tssrc/worker/index.ts
Tier 3, report-only. A signal the host declared as periodic has gone quiet. The process that should emit it is down, paused, or wedged — and nothing downstream will say so on its own.
Symptoms
None, by definition. Silence is the symptom; this signature exists to make it loud.
Detection
Per declared watchdog (watchdogs: [{ signal, everyMs }] in SupervisorConfig — e.g.
worker.sweep on the sweep interval): no matching signal for more than twice everyMs,
measured from the later of the last beat and when watching began, so a worker that never
started is caught too.
Automatic response
detected + escalated once per silence episode, per watchdog; the episode resets when the
beat returns, so a flapping process escalates each time it dies.
Manual steps
- The usual suspect for
worker.sweepsilence: the worker process. Check the deployment;make workerlocally. - A paused worker is also silent — check whether an
integrity-mismatch containment paused it on
purpose (
worker.paused()) before restarting anything. - If the process is up but silent, it is wedged: thread dump, restart, and check engine-stall — a hung pool acquire inside a sweep looks exactly like this from the outside.
Escalation
A silent worker means payouts, subscriptions, relays, and checkpoint audits have all stopped. Treat recovery as urgent; escalate to whoever owns the deployment if a restart does not bring the beat back.