Инфраструктура Redis Stream
В codex-bot реализована подсистема для асинхронной обработки событий через Redis Streams. Она позволяет боту реагировать на внешние сигналы и выполнять тяжелые задачи в фоне, не блокируя основной поток aiogram.
🏗 Ключевые компоненты
Работа со стримами строится на трех уровнях: 1. RedisStreamProcessor: Бесконечный цикл чтения сообщений. 2. BotRedisDispatcher: Хаб для распределения событий. 3. RedisRouter: Модульная регистрация обработчиков.
🚀 Планы: Дистанционное управление (Remote State)
Мы планируем добавить поддержку навигационных ключей прямо в payload сообщения из Redis.
Концепция:
Если бэкенд отправляет в стрим сообщение вида:
{"user_id": 123, "__next_scene__": "battle_results"}
Бот автоматически переключит пользователя на указанную сцену.
⚠️ Текущие ограничения
- Контейнер вместо Директора: Сейчас в хендлеры передается только
container. - Ручное управление FSM: Используйте
container.storageнапрямую по ключуuser_id.
🧭 Связанные компоненты
- ViewSender — отправка уведомлений по результатам обработки стрима.
- Task 004 — подробности реализации.