A background thread spawned alongside the job workers polls every server's status every STATE_POLLER_INTERVAL_SECONDS (default 30) and writes the result via the existing refresh_server_actual_state path. Servers with in-flight jobs (queued/running/cancelling) are skipped to avoid racing the post-job refresh. Catches reboot drift, OOM kills, manual systemctl operations, and any other out-of-band state change. Spec: docs/superpowers/specs/2026-05-09-l4d2-server-lifecycle-reboot-and-drift-design.md Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| host_commands.py | ||
| job_worker.py | ||
| l4d2_facade.py | ||
| overlay_builders.py | ||
| overlay_creation.py | ||
| overlay_files.py | ||
| security.py | ||
| server_identity.py | ||
| spec_yaml.py | ||
| status.py | ||
| steam_workshop.py | ||
| timeago.py | ||
| workshop_paths.py | ||