Сервис RX не смог инициализировать модуль прикладной разработки при старте
«Не удалось загрузить модуль из /app/: произошла ошибка» в логах Directum RX: при старте сервис не смог подготовить один из модулей. Сама запись общая, причина во вложенном исключении: таймаут RabbitMQ, недоступная база или ошибка в пакете разработки.
Что это значит
При запуске сервис RX загружает модули прикладной разработки и для каждого готовит всё, что ему нужно: очереди в RabbitMQ, обработчики, регистрации служб. Если на каком-то шаге произошла ошибка, сервис пишет эту запись. Модуль при этом может работать неполностью: например, не будут обрабатываться его фоновые события.
Причина всегда во вложенном исключении. На практике чаще всего встречаются:
RabbitMQ operation timeout. [CreateQueue...]: брокер не успел создать очередь при старте сервиса (разбор);- ошибка подключения к базе данных;
- ошибка в самом пакете разработки после публикации.
Как проверить
- Прочитать вложенное исключение в записи: поле
exи стек. - Совпадает ли время с массовым перезапуском сервисов или с недоступностью RabbitMQ или базы.
- Нет ли следом ошибок вида The constructor being called throws an exception: незагруженный модуль часто тянет их за собой.
Что сделать
- Устранить причину из вложенного исключения: брокер, база, пакет.
- Перезапустить сервис: загрузка модулей выполняется только при старте, и сама она не повторится.
- Тревогу ставить на эту запись: модуль, который не загрузился, может молча не выполнять свою работу.
Ошибка повторяется?
Запустите Диагностика: за полминуты он покажет состояние базы, брокера, поиска и сервера. С отчётом разберём причину за 30 минут бесплатного созвона.
Написать