Как мы приручили шквал уведомлений в PDP
Когда у тебя 4000+ помещений и на каждое прилетают десятки событий, нужно массово слать Email, SMS и WebSocket без фризов и хаоса. Для этого мы унесли всё в асинхронщину и включили backpressure.

Когда у тебя 4000+ помещений и на каждое прилетают десятки событий, уведомления начинают лететь как пуши в день релиза iOS 😅 В PDP мы столкнулись с тем, что нужно массово слать Email, SMS и WebSocket — и делать это без фризов и хаоса.
Мы унесли всё в асинхронщину через Taskiq: каждое уведомление — задача в очереди. Но на пиках обычной очереди мало, поэтому включили backpressure — система сама придерживает поток, чтобы не убить воркеры и внешние сервисы.
Дальше — приоритизация: критичные SMS уходят первыми, а информационные Email спокойно ждут своей очереди. WebSocket тоже обрабатываем асинхронно, чтобы интерфейс жил, а не “думал о вечном”.
Итог: под нагрузкой система не паникует, а работает предсказуемо. В эпоху, когда все обсуждают отказоустойчивость и real-time, такой пайплайн — уже не nice-to-have, а база.