v0.5.4 — production hardening across runtimes, queues & databases
A relentless production-readiness pass on real Linux infrastructure — every common web server and app runtime, all four supervisable queue drivers, server-class databases, storage-outage chaos and high concurrency — which surfaced and fixed four real issues.
Fixed
- Long-running daemons no longer dangle as stuck "running" command runs.
octane:start,reverb:start,pulse:work/pulse:checkare excluded from command capture via an unconditionalDefaults::daemonCommands()baseline (protects installs whose published config predates the list). - Redis queue names normalized (
queues:default→default) so per-queue grouping is consistent across drivers and matches the supervisor / queue-depth probe / config. - Batched jobs link to their batch —
batch_idis now recorded on batched runs. - Orphaned workers are reaped on supervisor boot — when the master is hard-killed (SIGKILL/OOM, or restarted under a non-cgroup manager like supervisord), its
queue:workchildren no longer pile up. Completes the cross-platform reap the#vigilancename marker always intended.
Validated (no code change)
- Web servers: Nginx, Apache (mod_proxy_fcgi), Caddy — all + PHP-FPM.
- Octane on every server: FrankenPHP, Swoole 6.2, OpenSwoole 26.2, RoadRunner 2025.1 — 800 req @ concurrency 16, 0 failed, constant per-request span count (no cross-request leakage).
- All four supervisable queue drivers: database, Redis, beanstalkd (1.13 + pheanstalk v8), each drained by the auto-scaling supervisor.
- supervisord + OPcache with
config:cache/route:cache/event:cache. - Never breaks the app when its storage is down: storage taken down mid-traffic → 100% of requests still served, queue still drained, capture resumed cleanly on recovery.
- Job lifecycles: retries, timeouts (captured as failures), batches, chains.
- Concurrency: 1200 req @ 24 against MySQL — no lost writes, aggregate counts exact, no deadlocks.
- Dashboard at scale: every page 200 / sub-300 ms on 60k runs / 100k entries / 22k traces.
- Fresh install:
vigilance:install,migrate,vigilance:doctor(green), dashboard — all clean. - Full suite green on PostgreSQL 18.4 and MySQL 8.4 (CI uses PG 16 + MariaDB 11.4).
Full notes: see CHANGELOG.md.