Commit graph

4 commits

Author SHA1 Message Date
Cyber MacGeddon
34d87727fc Subscriber resilience: recreate consumer after connection failure
Move consumer creation from Subscriber.start() into the run() loop,
matching the pattern used by Consumer. If the connection drops and the
consumer is closed in the finally block, the loop now recreates it on
the next iteration instead of spinning forever on a None consumer.

Previously, start() created the consumer once and run() assumed it
existed for the lifetime of the subscriber. A connection failure would
set self.consumer = None in the finally cleanup, and the outer retry
loop would re-enter with no consumer, causing an infinite
'NoneType has no attribute receive' error loop.
2026-04-07 12:48:46 +01:00
cybermaggedon
5ffad92345
Fix subscriber unexpected message causing queue clogging (#642)
queue clogging.
2026-02-23 14:34:05 +00:00
cybermaggedon
5304f96fe6
Fix tests (#593)
* Fix unit/integration/contract tests which were broken by messaging fabric work
2025-12-19 08:53:21 +00:00
cybermaggedon
96c2b73457
Fix import export graceful shutdown (#476)
* Tech spec for graceful shutdown

* Graceful shutdown of importers/exporters

* Update socket to include graceful shutdown orchestration

* Adding tests for conditions tracked in this PR
2025-08-28 13:39:28 +01:00