Асинхронный обработчик RX исчерпал попытки выполнения
«Attempts count to execute async handler ... has exceeded» в логах Directum RX: асинхронный обработчик несколько раз завершился ошибкой, и RX перестал его повторять. Работа, которую он делал, не выполнена. Как найти исходную ошибку и перезапустить обработку.
Что это значит
Асинхронные обработчики RX выполняют работу в фоне после действий пользователей: выдают права, обновляют связанные записи, пересчитывают признаки. Если обработчик завершается ошибкой, RX повторяет его несколько раз. Когда попытки кончились, пишется эта запись, и обработчик больше не запускается. В тексте указано имя обработчика, например Sungero.Workflow.UpdateFolderTags.
Сама запись говорит только о том, что попытки кончились. Причина в ошибках предыдущих попыток того же обработчика: блокировка записи, ошибка в прикладном коде, недоступная база.
Как проверить
- Найти в журнале сервиса асинхронных событий (Worker) записи с тем же именем обработчика перед этой: там исходная ошибка.
- Повторяется ли исчерпание у одного обработчика или у разных: один обработчик указывает на его код или данные, разные на инфраструктуру.
Что сделать
- Устранить исходную ошибку.
- Повторить действие, которое запускало обработчик, или выполнить его работу вручную: сам он больше не запустится.
- Ошибки в обработчиках прикладной разработки передать разработчикам с текстом исходной ошибки.
- Поставить тревогу на эту запись: исчерпанный обработчик означает тихо невыполненную работу.
Ошибка повторяется?
Запустите Диагностика: за полминуты он покажет состояние базы, брокера, поиска и сервера. С отчётом разберём причину за 30 минут бесплатного созвона.
Написать