feat(bot-platform): migrate BotRegistry to Redis Streams consumer group #63

Merged
Janis merged 1 commits from feat/NCS-101-botregistry-pubsub-to-streams into main 2026-06-09 21:48:21 +02:00
Member

Replace pub/sub subscribe with XREADGROUP on bot game-start stream.
Remove dual-write from EventPublisher.publishGameStart.
Consumer group: bot-platform-consumer, XACK after forwarding.
Poll loop uses emitter identity to prevent thread leak on re-registration.
Group created with '$' offset — no historical replay on first connect.

Closes NCS-101
https://knockoutwhist.youtrack.cloud/issue/NCS-101

Replace pub/sub subscribe with XREADGROUP on bot game-start stream. Remove dual-write from EventPublisher.publishGameStart. Consumer group: bot-platform-consumer, XACK after forwarding. Poll loop uses emitter identity to prevent thread leak on re-registration. Group created with '$' offset — no historical replay on first connect. Closes NCS-101 https://knockoutwhist.youtrack.cloud/issue/NCS-101
Janis added 1 commit 2026-06-09 13:59:00 +02:00
feat(bot-platform): migrate BotRegistry to Redis Streams consumer group
Build & Test (NowChessSystems) TeamCity build finished
ca83f8bba4
Replace pub/sub subscribe with XREADGROUP on bot game-start stream.
Remove dual-write from EventPublisher.publishGameStart.
Consumer group: bot-platform-consumer, XACK after forwarding.
Poll loop uses emitter identity to prevent thread leak on re-registration.
Group created with '$' offset — no historical replay on first connect.

Closes NCS-101
https://knockoutwhist.youtrack.cloud/issue/NCS-101
Janis merged commit 0ad2e10999 into main 2026-06-09 21:48:21 +02:00
Janis deleted branch feat/NCS-101-botregistry-pubsub-to-streams 2026-06-09 21:48:22 +02:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: NowChess/NowChessSystems#63