Задачи¶
Задачи — это набор политик с расширенными настройками для выполнения
Подсказка
Страница «Задачи» доступна при использовании локального сервера Удаленный доступ или Управление конфигурациями (UEM)
Как это работает¶
Задача объединяет одну или несколько политик в единый исполняемый блок и добавляет к ним:
расписание — однократный запуск, по cron-выражению или периодически
область действия — выбранные устройства, группы или динамические группы
приоритет — порядок обработки в очереди, если запускается несколько задач параллельно
отчёты — шаблоны Отчётов, которые автоматически формируются после завершения задачи (доступно только при UEM)
уведомления — рассылка пользователю/администратору при завершении задачи со ссылкой на отчёт
Жизненный цикл задачи:
создаётся вручную через Добавить Задачу или из обращения через Портал самообслуживания
активируется флагом Активно — без него задача не запускается по расписанию, даже если расписание задано
ставится в очередь — задача попадает в очередь задач и ждёт, когда освободится свободный поток для исполнения. В этот момент в столбце статуса отображается значение Запускается
запускается автоматически по расписанию, по событию выхода устройства на связь, вручную из контекстного меню или массовым действием Запустить выбранные задачи
выполняется на стороне сервера в фоновом режиме — статус и прогресс видны в таблице и на странице задачи
завершается со статусом Завершено или Ошибка. Логи и статистика доступны через действия Логи, График выполнения и Статистика выполнения, а уведомление о завершении уходит в выбранные каналы
Важно
Задача с активным расписанием продолжит запускаться, пока её не отключат флагом Активно или не удалят. Системные задачи (созданные из обращений в техподдержку) помечаются признаком Системная задача
Порядок выполнения политик¶
Если в задачу добавлено несколько политик, они выполняются строго в том порядке, в котором добавлены. Список политик внутри задачи можно сортировать — на странице создания или редактирования задачи политики перетаскиваются вверх и вниз, и сервер запустит их именно в этом порядке
Подсказка
Порядок важен для составных сценариев. Например, в паре Установка пакета → Перезагрузка установка должна идти первой, иначе устройство перезагрузится до установки. Аналогично для пары Обновление пакета → Инвентаризация — чтобы инвентаризация собрала уже обновлённый список ПО
Важно
Этот порядок относится только к политикам внутри одной задачи. Между разными задачами очерёдность определяется полем Приоритет и временем постановки задачи в очередь
Запуск при включении устройства¶
Помимо запуска по расписанию, задачу можно запускать в момент, когда устройство выходит на связь с сервером. Для этого в свойствах задачи активируется флаг Запускать при включении устройства
Когда устройство появляется онлайн, сервер автоматически подбирает все активные задачи с этим флагом, в область действия которых попадает данное устройство (через Устройства, Группы, Динамические группы или с пустой областью — на «всех»), и ставит их в очередь на выполнение
Примечание
Это основной способ применить политики к устройствам, которые были выключены в момент срабатывания расписания: как только устройство появится онлайн, нужные задачи отработают на нём автоматически
Подсказка
Запускать при включении устройства и расписание работают независимо и могут использоваться вместе. Если у задачи нет расписания, но активирован этот флаг, задача будет запускаться только при подключении устройства. Если нет ни флага, ни расписания, задача автоматически запускаться не будет — её придётся запускать вручную (см. Запуск без расписания)
Таймаут выполнения¶
Максимальное время выполнения задачи задаётся глобально для всего сервера, а не у каждой задачи. Значение настраивается в разделе Администрирование → Настройки, блок Настройки Ansible, поле Таймаут выполнения задачи. Значение по умолчанию — 300 секунд (5 минут)
Если задача выполняется дольше указанного времени, сервер принудительно прерывает её и помечает запуск как неудачный — итоговый статус становится Ошибка
Важно
Таймаут общий для всех задач: его нельзя переопределить под конкретную задачу. Если в системе есть длительные операции (установка крупных пакетов, обслуживание сервера, копирование больших файлов), убедитесь, что глобальное значение достаточно большое — иначе они будут стабильно прерываться по таймауту
Приоритет задачи¶
Поле Приоритет определяет, в каком порядке сервер берёт задачи из очереди на выполнение, если одновременно ждут несколько задач. Чем выше приоритет, тем раньше задача будет запущена
Доступные значения:
Критический приоритет — выполняется раньше прочих
Высокий приоритет
Средний приоритет
Низкий приоритет — значение по умолчанию
Отдельно используется служебное значение Вне очереди, недоступное в свойствах задачи. Оно автоматически проставляется при ручном запуске задачи — через Запустить в фоне, Запустить в терминале или массовое действие Запустить выбранные задачи. Такие запуски проходят впереди любых задач из очереди — поэтому ручной запуск стартует немедленно, независимо от настроенного приоритета
Примечание
Приоритет влияет только на порядок запуска задач из очереди, а не на то, сколько задач может выполняться одновременно. Параллельность определяется числом потоков, заданных на странице Точки распространения в поле Потоки
Статус «Завершено» и «Ошибка»¶
В конце выполнения сервер выставляет итоговый статус по результатам каждого устройства из области действия. Для текущего запуска ведётся три счётчика:
Успешно — число устройств, на которых задача выполнилась без ошибок
Ошибка — число устройств, на которых выполнение завершилось ошибкой
Недоступно — число устройств, до которых сервер не смог достучаться
Задача переводится в статус Ошибка, если выполняется хотя бы одно из условий:
сам процесс выполнения был прерван (например, по таймауту, остановкой вручную или внутренней ошибкой);
ни на одном устройстве задача не отработала успешно (Успешно равно нулю);
хотя бы на одном устройстве выполнение завершилось ошибкой (Ошибка больше нуля);
хотя бы одно устройство в области действия было недоступно (Недоступно больше нуля).
В остальных случаях задача получает статус Завершено. Это означает, что один недоступный или упавший хост в области действия приводит к итоговому статусу Ошибка у всей задачи — даже если часть устройств отработала корректно
Подсказка
Чтобы посмотреть, какие именно устройства попали в Ошибка или Недоступно, перейдите по действию Статистика выполнения — там видно результат по каждому устройству. Полные логи каждого исполнения доступны на странице Логи исполнения
Счётчики выполнения¶
В карточке задачи хранятся текущие значения трёх счётчиков — Успешно, Ошибка, Недоступно. Их поведение:
при каждом новом запуске счётчики сбрасываются в ноль и накапливаются по мере того, как устройства возвращают результат;
значения относятся к последнему запуску задачи и перезаписываются при следующем;
по этим счётчикам формируется столбец Прогресс выполнения, итоговый статус задачи и тело уведомления о завершении
Уведомления о завершении¶
После завершения задачи сервер отправляет уведомление пользователю или администратору. В уведомление подставляются:
название задачи;
финальный прогресс выполнения (та же строка
XX.XX% (N/M), что отображается в столбце Прогресс выполнения);ссылка на сформированный отчёт, если в задаче настроены шаблоны Отчётов.
Какие события рассылаются, по каким каналам (электронная почта, Telegram и т.д.) и кому именно — настраивается на странице Организация → Уведомления. Там же указываются получатели и используемые шаблоны
Запуск без расписания¶
Если у задачи не задано расписание и не активирован флаг Запускать при включении устройства, она никогда не запустится сама. Столбец Следующий запуск для такой задачи остаётся пустым
Запустить её можно только вручную:
из контекстного меню задачи действиями Запустить в фоне или Запустить в терминале;
массовым действием Запустить выбранные задачи;
автоматически — как часть обработки обращения через Портал самообслуживания.
Подсказка
Это нормальный сценарий для одноразовых задач — например, разовой установки ПО на конкретное устройство или ручного перезапуска службы. Для ручного запуска флаг Активно тоже не обязателен: задачу можно запустить из контекстного меню или массового действия, даже если она отключена
Прогресс выполнения¶
В столбце Прогресс выполнения для каждой задачи отображается строка вида XX.XX% (N/M):
M — общее число устройств, на которых задача должна отработать в текущем запуске (определяется областью действия — выбранными устройствами, группами и динамическими группами)
N — число устройств, на которых задача уже успешно завершилась в текущем запуске (без ошибок и без недоступных хостов)
XX.XX% — соотношение
N / M, округлённое до двух знаков после запятой
Важно
В числителе учитываются только успешные результаты. Если устройство недоступно или выполнение завершилось ошибкой, такой результат не попадает в N — поэтому прогресс может не дойти до 100.00%, даже когда задача уже завершилась. Итоговое распределение по статусам (успешно, ошибка, недоступно) удобно смотреть на страницах Логи исполнения и Статистика выполнения
Примечание
Прогресс считается относительно последнего запуска задачи и сбрасывается при каждом новом запуске. Пока задача ни разу не запускалась — в столбце отображается прочерк -. Значение обновляется автоматически по мере того, как устройства возвращают результат — отдельно перезагружать страницу не нужно
Примечание
По умолчанию имеются предустановленные задачи:
Инвентаризация
Обслуживание сервера
Подсказка
Данная задача включает следующие политики:
Обслуживание сервера
Обновление устройств
Предустановленные задачи можно удалить и редактировать
Предустановленные задачи по умолчанию отключены, но их можно активировать и настроить расписание
Описание страницы¶
На странице Задачи отображается:
Кнопка Добавить Задачу
Фильтр
Массовые действия
Таблица с возможностью настройки отображаемых столбцов
Добавление задачи¶
При нажатии на кнопку Добавить Задачу откроется страница создания задачи, подробнее о создании задачи
Фильтр¶
Можно формировать таблицу для получения определенных данных, используя фильтр:
Активно— фильтрация задач по статусу активностиИсполняется— фильтрация задач по статусу исполненияУспешно— фильтрация задач по статусу успехаСистемная задача— фильтрация пользовательских и системных задачПоле поиска— поиск по ключевому слову
Для выполнения поиска необходимо заполнить поля или часть полей и нажать на кнопку Найти
Массовые действия¶
Доступные действия:
Удалить выбранные задачи — удаление выбранных задач
Включить выбранные задачи — включение выбранных задач
Отключить выбранные задачи — отключение выбранных задач
Запустить выбранные задачи — запуск выбранных задач
Остановить выбранные задачи — остановка выбранных задач
Экспортировать выбранные задачи — экспорт выбранных задач
Примечание
После выбора данного действия нужно выбрать необходимый формат файла
Важно
В зависимости от прав действия могут отсутствовать
Для выполнения действия необходимо нажать на кнопку Выполнить
Удаление задач¶
Для массового удаления задач необходимо:
Отметить необходимые задачи в таблице
Выбрать действие Удалить выбранные задачи
Нажать на кнопку Выполнить
На открывшейся странице будет отображаться информация о том, какие задачи будут удалены
Нажать на кнопку Да, я уверен
Можно отменить данную операцию, нажав на кнопку Нет, отменить и вернуться к выбору
Выбранные задачи будут удалены
Включение задач¶
Для массового включения задач необходимо:
Отметить необходимые задачи в таблице
Выбрать действие Включить выбранные задачи
Нажать на кнопку Выполнить
Выбранные задачи будут включены
Примечание
После выполнения данного действия появится уведомление о том, что задача включена, и статус в таблице изменится на
Отключение задач¶
Для массового отключения задач необходимо:
Отметить необходимые задачи в таблице
Выбрать действие Отключить выбранные задачи
Нажать на кнопку Выполнить
Выбранные задачи будут отключены
Примечание
После выполнения данного действия появится уведомление о том, что задача отключена, и статус в таблице изменится на
Важно
Задача с установленным расписанием не будет выполняться, пока ее не активировать
Запуск задач¶
Для массового запуска задач необходимо:
Отметить необходимые задачи в таблице
Выбрать действие Запустить выбранные задачи
Нажать на кнопку Выполнить
Выбранные задачи будут запущены в фоне
Примечание
После выполнения данного действия статус в таблице изменится на . Запуск через это действие проходит Вне очереди — задачи стартуют немедленно, независимо от настроенного приоритета
Остановка задач¶
Для массовой остановки задач необходимо:
Отметить необходимые задачи в таблице
Выбрать действие Остановить выбранные задачи
Нажать на кнопку Выполнить
Выбранные задачи будут остановлены
Важно
При остановке сервер прерывает все фоновые процессы этой задачи и снимает с неё признаки Исполняется и Ожидает исполнения. Если задача была активно запущена, она переводится в статус Ошибка, даже если часть устройств уже успела отработать; если задача только стояла в очереди и ещё не успела начать выполнение, её итоговый статус не меняется. Счётчики Успешно / Ошибка / Недоступно сохраняют значения на момент остановки и обнулятся только при следующем запуске
Экспорт задач¶
Для массового экспорта задач необходимо:
Отметить необходимые задачи в таблице
Выбрать действие Экспортировать выбранные задачи
Выбрать необходимый формат файла
Нажать на кнопку Выполнить
Файл будет загружен на устройство
Таблица¶
Таблица разбита по столбцам:
Статус— статус активности задачиНовая задача — данный статус устанавливается у созданной задачи
Запускается — подготовка к выполнению задачи
Выполняется — задача находится в процессе выполнения
Завершено — успешное выполнение задачи
Ошибка — при выполнении задачи произошла ошибка
Отключено — у задачи отключена опция Активно (Выполнять задачу в соответствии с расписанием)
Задача— пользовательское название задачиПриоритет— приоритет задачи в очереди задач: Критический, Высокий, Средний, Низкий или Вне очереди (выставляется автоматически для задач, запущенных вручную)Прогресс выполнения— индикатор прогресса при выполнении задачиПоследний запуск— дата и время последнего запуска задачиСледующий запуск— дата и время следующего запуска задачи по расписаниюСоздана— дата и время создания задачиОбновлена— дата и время последнего изменения задачи
Операции¶
При нажатии на кнопку с правого края таблицы открывается контекстное меню
Доступные действия:
Редактировать— при выборе этого пункта откроются свойства задачиУдалить— при выборе этого пункта задача будет удаленаИстория изменений— при выборе этого пункта будет отображена история задачи: создание/редактирование и пользователь, который выполнил данные операцииЗапустить в фоне— задача ставится в очередь со служебным приоритетом Вне очереди и выполняется на сервере без участия пользователя. Веб-интерфейс при этом не блокируется — за прогрессом и итогом нужно следить через столбцы Статус и Прогресс выполнения либо через действия Логи и Статистика выполнения. Подходит для регулярных и массовых запусковЗапустить в терминале— задача запускается так же, Вне очереди, но дополнительно открывается всплывающее окно терминала, в которое в реальном времени выводятся логи выполнения. В окне доступны кнопки Прервать (останавливает задачу так же, как действие Остановить) и Закрыть. Подходит для отладки одиночных запусков, когда нужен живой выводЛоги— при выборе этого пункта произойдет переход на страницу Логи исполнения с активным фильтром по этой задачеГрафик выполнения— при выборе этого пункта произойдет переход на страницу График выполнения с визуализацией длительности и количества выполнений задачиСтатистика выполнения— при выборе этого пункта произойдет переход на страницу Статистика выполнения с отображением статусов выполнения задачи по каждому устройству