Как мы в PDP собрали event-driven на Taskiq и перестали ловить гонки статусов
В PDP построили event-driven architecture на Taskiq: бизнес-действия генерируют события, обработчики запускаются параллельно, а Redis persistence и idempotency помогают не терять данные.

В одном помещении статус может прилетать сразу из нескольких подсистем — классика распределёнки: кто-то «обновил», кто-то «ещё обновляет», а ты сидишь с кофе и смотришь на это шоу 👀
Мы в PDP построили event-driven architecture на Taskiq: каждое бизнес-действие генерирует событие, а обработчики запускаем параллельно через asyncio.gather(). Плюс в том, что если один обработчик падает с грустным стеком, остальные не стопорятся и спокойно дорабатывают.
Использовали паттерн fire-and-forget с Redis persistence и idempotency: событие не теряется, а повторная обработка не ломает данные. Для систем, где всё живёт в асинхронном ритме и real-time уже не хайп, а база, это прям must-have.
Короче, сделали так, чтобы система не паниковала, когда события летят со всех сторон 😌