gramps
975e7579cf
feat: Task 10 — AMQP connection layer with aio-pika
amqp.py: connect/disconnect/get_channel/publish with auto-reconnect
- Graceful degradation when aio-pika not installed
- Lazy secret file reader via config.get_amqp_url()
- Fire-and-forget publish (logs error, never raises)
- Connection errors caught and logged (non-fatal)
config.py: AMQP_RECONNECT_DELAY, exchanges, get_amqp_url() helper
app.py: connect in lifespan after assess_hardware, disconnect on shutdown
requirements.txt: aio-pika>=9.0.0
tests/test_amqp.py: 3 mocked tests (publish success, publish disconnected
no-raise, get_channel reconnect)
135 tests pass (132 existing + 3 new)
Fixes: AGENTS.md test/run commands (venv was incomplete)
2026-07-06 08:51:36 -07:00
..
2026-07-06 08:51:36 -07:00
2026-07-06 08:51:36 -07:00
2026-06-27 15:20:02 -07:00
2026-07-03 12:18:06 -07:00
2026-06-27 15:27:13 -07:00
2026-06-27 15:27:13 -07:00
2026-06-27 15:20:02 -07:00
2026-07-03 12:53:34 -07:00
2026-07-03 12:35:21 -07:00
2026-06-27 15:20:02 -07:00
2026-06-27 15:27:13 -07:00
2026-06-27 15:27:13 -07:00
2026-06-27 15:27:13 -07:00
2026-06-27 15:27:13 -07:00
2026-07-06 08:06:06 -07:00
2026-06-27 15:20:02 -07:00
2026-06-27 15:27:13 -07:00
2026-06-27 15:12:18 -07:00
2026-06-27 15:12:18 -07:00
2026-06-27 15:20:02 -07:00
2026-07-03 12:18:06 -07:00