🔎Эта статья рассматривает использование Symfony Messenger вместе с Redis для мониторинга и отслеживания событий, происходящих во время обработки сообщений.
🔑Целью является создание ключей в Redis, которые подсчитывают количество событий различных видов мессенджера как для общего мониторинга, так и для конкретных сообщений. Рассматриваются события, связанные с приемом, обработкой, ошибками и повторными попытками обработки сообщений.
⚙️Настройка включает установку Symfony Messenger и Redis, конфигурацию сервера Redis с использованием Docker и настройку бандла Redis. Используются два типа ключей: общие ключи для общего мониторинга и ключи сообщений для конкретного мониторинга. В статье предоставляется пошаговая инструкция по настройке Redis и созданию необходимых ключей.
🔄Затем представлен сервис MessengerHandler, который взаимодействует с Redis с использованием конвейеров для эффективной обработки хитов для различных ключей. Два перечисления, MessengerEvents и MessengerTimeEvents, используются для категоризации событий и временных интервалов.
👂Далее создается класс MessengerSubscriber, который прослушивает различные события мессенджера и использует сервис MessengerHandler для обновления ключей Redis соответственно.
Для демонстрации функционала в статье создается простое сообщение и его обработчик, настраивается Redis-транспорт Symfony Messenger и отправляется сообщение. В конце статьи объясняется, как проверить сгенерированные ключи Redis, чтобы убедиться, что мониторинг работает правильно.
Post #3807
2.95K