worker.start() awaits the first heartbeat; if the server is down the promise rejects and the process calls process.exit(1), so systemd restarts it every 10 s and journals an error each time (e.g. every time the server is redeployed by the webhook). WebSocket reconnects use a fixed 5 s delay with no backoff or jitter, so a fleet reconnects in lock-step.
Suggested fix
Treat the initial heartbeat failure as non-fatal (log and keep the timer running) and use exponential backoff with jitter for both heartbeat and WS reconnect.
## Overview
`worker.start()` awaits the first heartbeat; if the server is down the promise rejects and the process calls `process.exit(1)`, so systemd restarts it every 10 s and journals an error each time (e.g. every time the server is redeployed by the webhook). WebSocket reconnects use a fixed 5 s delay with no backoff or jitter, so a fleet reconnects in lock-step.
## Suggested fix
Treat the initial heartbeat failure as non-fatal (log and keep the timer running) and use exponential backoff with jitter for both heartbeat and WS reconnect.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Overview
worker.start()awaits the first heartbeat; if the server is down the promise rejects and the process callsprocess.exit(1), so systemd restarts it every 10 s and journals an error each time (e.g. every time the server is redeployed by the webhook). WebSocket reconnects use a fixed 5 s delay with no backoff or jitter, so a fleet reconnects in lock-step.Suggested fix
Treat the initial heartbeat failure as non-fatal (log and keep the timer running) and use exponential backoff with jitter for both heartbeat and WS reconnect.