pleasehold 0.8.36

Protocol-pluggable poll-until-healthy primitive with backoff (http/tcp/shell probes)
Documentation
  • Coverage
  • 53.66%
    22 out of 41 items documented0 out of 19 items with examples
  • Size
  • Source code size: 29.1 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 1.24 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 6s Average build duration of successful builds.
  • all releases: 6s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • yah-ai/qed
    0 0 0
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • yah-human

Protocol-pluggable "poll until healthy" primitive, with backoff.

Split out of yah-qed (where it backed StepKind::WaitFor, R513-F3 / W207 Gap #5) so it can be depended on without pulling in qed's scheduler stack (task-runs, velveteen, …) — a caller that only wants "wait for this thing to materialize" (a network endpoint, an npm publish landing, a DB row appearing) should not need a CI-pipeline engine to get it.

Three dependency-free probes (no HTTP client / TLS stack — that matters for qed's musl-static build):

  • http — plaintext HTTP/1.1 GET over a raw [tokio::net::TcpStream]. Healthy on 2xx/3xx, or an exact match to expect_status. No TLS in v1; an https:// target should use Probe::Shell (e.g. curl -fsS ...) instead of pulling a TLS stack into every caller.
  • tcp — bare connect to host:port. Healthy the moment it accepts.
  • shellsh -c <command>. Healthy on exit 0. The escape hatch for anything the other two can't express (HTTPS, a CLI query, a DB check).

[poll_until] owns the deadline/backoff scheduling and attempt callback; callers only supply a [Probe] and a [BackoffConfig].