release v1.9.2
This commit is contained in:
+17
-16
@@ -7,24 +7,25 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
## [1.9.2] - 2026-08-16
|
||||
|
||||
### Fixed
|
||||
|
||||
- `/health`'s five dependency probes (neo4j, qdrant, wikijs, searxng, ollama)
|
||||
now run concurrently under `asyncio.gather`, each bounded at 2s via
|
||||
`asyncio.wait_for`, instead of serially with no bound on neo4j or qdrant.
|
||||
A hung (not failing) dependency previously blocked the whole chain past the
|
||||
container healthcheck's 10s timeout, marking the container unhealthy for a
|
||||
reason unrelated to its own liveness. A probe that times out now reports
|
||||
that service unhealthy, the same as one that raises; the others are
|
||||
unaffected.
|
||||
- The three remaining probes in `check_service_health()` (paperless,
|
||||
system_settings, scheduler — computed internally but not currently read by
|
||||
`/health`) are now bounded and joined into the same `asyncio.gather` as the
|
||||
five above, rather than running serially and unbounded after it. paperless
|
||||
and system_settings keep their three-state result (`None` not configured,
|
||||
`False` configured but unhealthy/timed out, `True` healthy) — an
|
||||
unconfigured service's probe is never run, so "not configured" cannot be
|
||||
collapsed into "unhealthy".
|
||||
- `/health` no longer reports the whole service unhealthy because one
|
||||
dependency is merely slow. Its five probes (neo4j, qdrant, wikijs, searxng,
|
||||
ollama) previously ran one after another with no timeout on neo4j or
|
||||
qdrant, so a single hung dependency could block the response past the
|
||||
container healthcheck's 10s timeout and get the container marked
|
||||
unhealthy for a reason unrelated to its own liveness. Each probe is now
|
||||
bounded at 2s and all five run concurrently, so one hanging dependency is
|
||||
reported unhealthy on its own without holding up the others or the
|
||||
response.
|
||||
- Internal-only: the three probes `check_service_health()` also computes
|
||||
(paperless, system_settings, scheduler) received the same bounding and
|
||||
concurrency, for consistency and because they carried the identical
|
||||
unbounded-hang risk internally. This has no visible effect today — none
|
||||
of the three is currently returned by `/health` — but protects a future
|
||||
caller that does read them.
|
||||
|
||||
## [1.9.1] - 2026-08-08
|
||||
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
[project]
|
||||
name = "library-desk"
|
||||
version = "1.9.1"
|
||||
version = "1.9.2"
|
||||
description = "Coordination service for The Library system - HybridRAG queries, document ingestion, entity extraction, and knowledge consolidation"
|
||||
readme = "README.md"
|
||||
requires-python = ">=3.12"
|
||||
|
||||
Reference in New Issue
Block a user