docs(health): correct the probe-bound rationale for eight probes

The comment still said five, and named only neo4j and qdrant as
unbounded. Both were true one commit ago. Also states the property that
makes adding probes safe: concurrent bounds do not sum, so wall time is
one bound regardless of count.

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2026-08-16 18:38:31 +02:00
co-authored by Claude
parent 18ec213504
commit ab07fa9565
+9 -6
View File
@@ -568,12 +568,15 @@ async def shutdown_clients():
# Per-probe timeout for the concurrent health checks below, in seconds. # Per-probe timeout for the concurrent health checks below, in seconds.
# #
# Bounded well under the container healthcheck's 10s timeout (see Dockerfile) # Bounded well under the container healthcheck's 10s timeout (see Dockerfile).
# so that five probes run concurrently under asyncio.gather cannot approach # Because every probe runs concurrently under one asyncio.gather, the wall time
# it even if all five hang. A probe that has no timeout of its own (neo4j, # is one bound rather than the sum, so adding probes does not erode the margin —
# qdrant) otherwise falls back to its driver's default — 30s for both — which # all eight can hang and the call still returns in ~2s.
# is what let a hung dependency (not a failing one) flip the container #
# unhealthy. # A probe with no bound of its own falls back to its client's default: 30s for
# the neo4j and qdrant drivers, 30s for the scheduler client, and none at all
# for system settings. Each is past the 10s budget on its own, which is what let
# a hung dependency — not a failing one — flip the container unhealthy.
HEALTH_PROBE_TIMEOUT = 2.0 HEALTH_PROBE_TIMEOUT = 2.0