Инструменты панели мониторинга очереди (`InfoQueue`)


НАЧАЛО >> Документация >> Руководство администратора >> Инструменты панели мониторинга очереди (`InfoQueue`)📄 Скачать в DOCX


На странице мониторинга администратору доступны оперативные метрики работы диспетчера (состояние потоков, загрузка памяти, статистика выполненных и ожидающих задач), а также инструменты горячего управления:

Как открыть панель: Перейти в панель мониторинга можно из карточки настроек модуля «Очередь задач» в АРМ Администратор (кликнув по ссылке «Посмотреть очередь задач») или по прямой ссылке ?id=Queue/InfoQueue в браузере.

Примечание: Все данные на странице (состояние диспетчера, потоки, матрица и список задач) обновляются автоматически в режиме реального времени (каждые 2 секунды). Для мониторинга актуального состояния ручная перезагрузка страницы не требуется.

1. Права доступа

Страница Queue/InfoQueue выполняет проверку прав до загрузки панели мониторинга. Для открытия страницы учетная запись должна иметь право просмотра (VIEW) на модуль «Очередь задач» (Queue) в подсистеме безопасности.

Если права VIEW нет, панель не открывается, а система выводит сообщение о недостаточных правах для использования модуля очереди. Назначать или проверять это право нужно в АРМ «Администратор» в карточке модуля Queue через окно прав доступа к модулю.

Рисунок 1 - Общий вид интерфейса мониторинга

Общий вид интерфейса мониторинга

2. Основная информация

Рисунок 2 - Панель Основная информация

Панель Основная информация

Данный блок содержит базовые системные метрики подсистемы очередей:

3. Диспетчер (Фоновый процесс)

Рисунок 3 - Панель Диспетчер (Фоновый процесс)

Панель Диспетчер (Фоновый процесс)

В этой панели отображаются текущее состояние и ресурсоемкость главного фонового диспетчера, который отвечает за распределение задач из очереди по рабочим потокам:

Что делать, если диспетчер ОФФЛАЙН? Обычно диспетчер "просыпается" и перезапускается автоматически при любой активности пользователей в системе. Если статус долго не меняется на АКТИВЕН даже при активной работе пользователей, проверьте наличие свободного места на диске и изучите системные логи (см. раздел "Логирование и диагностика" ниже).

4. Управление состоянием (Пауза / Запуск)

Переключатель, позволяющий временно приостановить выборку новых задач диспетчером.

Рисунок 4 - Панель управления состоянием

Панель управления состоянием

Для ручного управления из панели мониторинга используется переключатель «Приостановить» / «Запустить», который меняет состояние очереди на противоположное. Если нужно привести очередь к заранее известному состоянию прямой ссылкой или из автоматизированного сценария, используйте отдельные действия:

Прямые действия удобны для регламентных операций и интеграций: повторный вызов Queue/ChangePause не запустит уже остановленную очередь, а повторный вызов Queue/ChangeUnPause не остановит уже работающую очередь.

5. Управление приоритетами (Режим обработки)

6. Управление состоянием потоков

Рисунок 5 - Панель управления потоками

Панель управления потоками

Сама панель выполнена в виде сворачиваемого блока. В ее заголовке всегда отображается краткая сводка загруженности (например, В работе: 2 / 4), что позволяет видеть занятость сервера даже при свернутой таблице.

Если по какой-то причине задача зависла (например, внешний скрипт ушел в бесконечный цикл или ожидает ответа от стороннего ресурса дольше положенного таймаута), в таблице потоков она будет подсвечена красным цветом. При обнаружении зависших потоков вся панель автоматически выделяется красной рамкой, и над таблицей появляется кнопка «Остановить все зависшие» для их принудительного завершения и высвобождения лимита воркеров. В штатном режиме (без зависаний) эта кнопка скрыта, чтобы не перегружать интерфейс.

Также в таблице потоков отображается детализированная статистика:

7. Матрица состояния задач

Сводная таблица, показывающая количественное распределение задач в разрезе их типов (действий) и текущих статусов. На пересечении колонки и столбца отображается количество задач.

Рисунок 6 - Матрица состояния задач

Матрица состояния задач

Матрица является интерактивной и служит удобным фильтром для списка «Отобранные задачи», расположенного рядом. Кликнув по любой ячейке с числом (или по заголовку столбца/строки), вы автоматически отфильтруете список по выбранному типу действия и/или статусу.

Подсказки и навигация: Если навести курсор мыши на название действия в матрице или в таблицах задач и потоков, появится всплывающая подсказка с понятным (человеко-читаемым) описанием операции. Клик по самому названию действия в левой колонке матрицы отфильтрует таблицу справа так, чтобы показать все задачи этого типа, независимо от их текущего статуса.

Возможные статусы (колонки матрицы):

Навигация и ссылки: При фильтрации через матрицу (кликах по ячейкам) система автоматически обновляет URL-адрес в браузере без перезагрузки страницы. Это значит, что вы можете использовать стандартные кнопки браузера «Назад» и «Вперед» для навигации по истории фильтров, а также копировать ссылку из адресной строки, чтобы поделиться с коллегами конкретной выборкой (например, готовой ссылкой на список всех задач с ошибками).

Для полного сброса фильтрации достаточно кликнуть по заголовку столбца «Задачи», «Все» или по итоговой строке «Итого:» в самом низу матрицы.

Автоматическая очистка и смена статусов (Жизненный цикл): Вам не требуется вручную очищать очередь от старых или зависших задач. Подсистема имеет встроенные механизмы самообслуживания:

  • Завершенные (2) задачи автоматически удаляются из базы по истечении своего времени жизни (параметр donetimeout, по умолчанию через 1 секунду, если при создании задачи не задано иное), чтобы не раздувать размер файла QueueInfo.db.
  • Выполняемые (1) задачи, превысившие свой лимит времени (timeout), принудительно прерываются механизмом контроля и переводятся в Ошибку (3).
  • Задачи со статусом Ошибка (3) автоматически анализируются системой. Они отправляются на автоматический повторный запуск (возврат в статус 0) до 3 раз. Если лимит попыток исчерпан (или ошибка критическая), они получают статус Фатальная ошибка (6).
  • Задачи со статусом Фатальная ошибка (6), а также Приостановленные (4) системой автоматически не удаляются (для сохранения истории сбоев и возможности разбора инцидентов). Администратору необходимо периодически отфильтровывать их в матрице и удалять вручную с помощью кнопки «Удалить» в блоке групповых операций, чтобы избежать бесконечного роста файла базы данных.

8. Работа с отобранными задачами

Рисунок 7 - Панель Отобранные задачи

Панель Отобранные задачи

Таблица задач поддерживает удобную навигацию:

8.1. Детали задачи

Для глубокого анализа (особенно при разборе ошибок) в последней колонке для каждой задачи предусмотрена кнопка «Детали». При нажатии открывается модальное окно, содержащее системные данные в удобном для чтения формате (JSON):

Для техподдержки: Данные в этом модальном окне автоматически форматируются с отступами (структура JSON) и выводятся в виде удобных текстовых блоков. Вы можете легко скопировать их содержимое в буфер обмена для передачи разработчикам или специалистам технической поддержки при расследовании сложных сбоев.

Рисунок 8 - Окно Детали задачи

Окно Детали задачи

8.2. Групповые операции

Вы можете выбрать конкретные записи чекбоксами (включая общий чекбокс в шапке таблицы) и применить к ним массовые действия с помощью кнопок:

Лайфхак: Если при нажатии на кнопку групповой операции не выделить галочкой ни одной задачи, система предложит применить действие ко всем задачам, которые в данный момент отображаются с учетом активного фильтра матрицы. Это позволяет в один клик массово удалить или перезапустить тысячи задач. Статус выполнения операции отобразится в виде всплывающего уведомления в правом нижнем углу экрана.

Уведомления об операциях: Результат любой ручной операции (массовое действие над задачами, остановка отдельного зависшего потока, смена режима работы диспетчера) будет показан в виде всплывающего Toast-уведомления в правом нижнем углу экрана. Зеленый цвет уведомления означает успешное выполнение, красный — ошибку (например, при проблемах с сетью или БД).

9. Логирование и диагностика

Для глубокого технического анализа проблем с подсистемой фоновых задач администратор может использовать специализированные журналы системы:

Примечание: Файлы логов физически располагаются в системной директории хранения журналов (по умолчанию это подпапка Logs в корневой папке данных DataPath). Если интерфейс панели внезапно перестал обновляться (например, при кратковременном обрыве сети или критической нехватке памяти на сервере, когда скрипт возвращает пустой ответ), встроенный алгоритм зафиксирует это как сетевую ошибку, а интерфейс «заморозится» до автоматического восстановления связи.