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

В PDP у нас почти каждое бизнес-действие стреляет событием. Дальше — магия без магии: обработчики запускаем параллельно через asyncio.gather(). Если один падает, остальные не стопаются — и это суперважно, когда статус помещения одновременно прилетает из нескольких подсистем. Иначе классика: один сервис чихнул, а вся цепочка легла.
Мы пошли в fire-and-forget: событие отправили и не держим поток, как будто ждём коллегу с созвона 🙂 При этом с надёжностью не халтурим: Redis persistence + idempotency гарантируют, что событие не потеряется и не обработается криво повторно.
На фоне хайпа вокруг realtime и event-first систем это уже не “nice to have”, а база для живых продуктов. Мы на практике увидели: меньше связности, больше устойчивости, и система не паникует под нагрузкой.