Skip to content

Make the daily soak exercise real workflows and report useful results - #150

Merged
rmcdaniel merged 3 commits into
mainfrom
fix/soak-useful-results
Sep 9, 2026
Merged

Make the daily soak exercise real workflows and report useful results#150
rmcdaniel merged 3 commits into
mainfrom
fix/soak-useful-results

Conversation

@rmcdaniel

@rmcdaniel rmcdaniel commented Sep 9, 2026

Copy link
Copy Markdown
Member

Related #137. Fixes #151.

Synthetic workers now maintain their registrations, reject stale HTTP-200 poll responses, and must sustain cache activity across the measured window. A low-rate PHP canary reuses the standard-workflow binding and validates results, completed status, and ordered activity history. Health/readiness/cluster-info probes always run. CPU/memory, latency percentiles, backpressure, cache drain, and explicit coverage limits appear in the Action summary; artifacts expire after 14 days.

Docker supervises the existing hourly queue-worker recycle. Real activity replay caches retain evidence through the five-minute lease plus grace, so the drain is 310 seconds without flushing cache or reducing Server TTLs. Load remains two hours on the same disposable host, with bounded drain/setup/cleanup time additional. Idle drain does not dilute load memory-slope or CPU measurements.

Security: provider credentials remain in the protected main-only environment, never on the VM. PR checks receive no provider credentials. The SDK uses only isolated disposable data and credentials. No live deployment or Cloud/customer data is involved.

Validation:

  • 23 Python tests and 28 PHP contract tests (446 assertions) pass; PHP formatting passes.
  • Native isolated Compose run at 0997b9c: 90 seconds, 24 synthetic workers, eight namespaces, 16 queues; 18/18 validated standard workflows, zero execution/result/history errors, p95 3.837s.
  • Polling activity in all 18 periodic samples, zero polling errors, healthy health/readiness/cluster-info probes, final Server cache keys zero after the real TTL drain.
  • Native Laravel queue:restart during load caused Docker restart count to advance from zero to one; polling and workflow completions continued. The ordinary max-time exit was separately observed to return zero.
  • The final measurement-only change at 882628f has focused regression coverage excluding idle drain from load CPU/slope; it does not change Server semantics.
  • All task containers and volumes were removed. No additional paid VM or paid rerun was created.

This short run proves the changed harness and recycle mechanism, not a completed two-hour soak, capacity claim, cross-SDK qualification, backend failover, or completion of the broader runtime comparison. The next scheduled paid run must supply the long-duration evidence.

@rmcdaniel
rmcdaniel marked this pull request as ready for review September 9, 2026 14:14
@rmcdaniel
rmcdaniel merged commit 080464e into main Sep 9, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Keep the Compose queue worker running after its hourly recycle

2 participants