haiku.rag/haiku_rag_slim/haiku/rag/ingester
Chris McDonough 22ab79c492 Fix shutdown-order bug: close source clients after workers stop
Workers share the same Source instances as pollers and use them for
fetch(). PollerManager.stop() was closing httpx clients before the
worker pool drained, so in-flight fetches during the shutdown grace
hit a closed client.

- Move source closing out of stop() into a separate close_sources()
- Call close_sources() after _stop_pool() in both serve() and
  run_batch()
- Promote aclose() to the Source protocol with no-op defaults for
  FS and S3, removing the hasattr duck-typing
2026-06-01 09:55:39 -04:00
..
api Custom hover tooltips for truncated dashboard cells 2026-05-27 15:42:17 +03:00
pollers Fix shutdown-order bug: close source clients after workers stop 2026-06-01 09:55:39 -04:00
queue Add haiku-ingester run-batch, remove run-once 2026-05-29 17:00:59 +03:00
sources Fix shutdown-order bug: close source clients after workers stop 2026-06-01 09:55:39 -04:00
workers Add haiku-ingester run-batch, remove run-once 2026-05-29 17:00:59 +03:00
__init__.py ingester: add source-adapter scaffolding + FS source 2026-05-26 11:41:53 +03:00
app.py Fix shutdown-order bug: close source clients after workers stop 2026-06-01 09:55:39 -04:00
cli.py Surface failed discovery sweeps in run-batch 2026-06-01 10:27:31 +03:00
exceptions.py worker pool, rety policy, pipeline 2026-05-26 11:41:54 +03:00