Перейти к основному содержимому
Версия: 2.5

Периодические задания

Сервисы СРМ и мониторинга выполняют регулярные фоновые задачи: рассылают накопленные события, чистят устаревшие данные, пересчитывают индикаторы здоровья. Периодичность запуска этих задач настраивается на странице Главная -> Настройки -> Система -> Периодические задания.

Страница разделена на вкладки по сервисам: СРМ и Мониторинг. Расписания хранятся в базе данных соответствующего сервиса, но управляются из одного места.

Что можно изменить​

Изменить можно только периодичность запуска. Добавлять и удалять задачи через интерфейс нельзя: состав задач определяется версией системы, новые задачи появляются при обновлении сервисов.

На странице не отображаются задачи планового обогащения СРМ — их периодичность задаётся вместе с самим планом на странице Главная -> Настройки -> СРМ -> Планы обогащения.

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

Права доступа​

Отдельных прав для страницы нет, используются права на глобальные настройки сервисов:

ДействиеПраво
Просмотр вкладки СРМsystem.settings.srm.@view
Изменение расписаний на вкладке СРМsystem.settings.srm.@edit
Просмотр вкладки Мониторингsystem.settings.monitoring.@view
Изменение расписаний на вкладке Мониторингsystem.settings.monitoring.@edit

Вкладка сервиса, на просмотр настроек которого нет прав, не отображается. Без права на изменение список доступен только для чтения.

Изменение расписания записывается в журнал действий пользователей (см. Журналы аудита).

Формат периодичности​

Периодичность задаётся классическим выражением cron из пяти полей, разделённых пробелами:

* * * * * выполняемая задача
- - - - -
| | | | |
| | | | ----- день недели (0—6, 0 — воскресенье)
| | | ------- месяц (1—12)
| | --------- день месяца (1—31)
| ----------- час (0—23)
------------- минута (0—59)

В каждом поле допустимы:

  • число — 5;
  • список чисел через запятую — 0,15,30,45;
  • диапазон через дефис — 1-5;
  • шаг — */10 (каждые десять единиц) или 0-30/10;
  • * — любое значение.

Примеры:

ВыражениеКогда выполняется
*/1 * * * *каждую минуту
*/15 * * * *каждые 15 минут
0 * * * *раз в час, в начале часа
0 3 * * *ежедневно в 03:00
0 */6 * * *каждые 6 часов
30 2 * * 0по воскресеньям в 02:30
warning

День недели нумеруется от 0 до 6, где 0 — воскресенье. Значение 7 не принимается.

Выражение проверяется при вводе и при сохранении. Некорректное выражение сохранить нельзя.

Значение по умолчанию​

Для каждой задачи известно значение периодичности, с которым она поставляется. Кнопка По умолчанию в окне редактирования подставляет это значение в поле — чтобы применить его, нужно сохранить изменение.

Для задач, заведённых до появления этой страницы вручную, значение по умолчанию может отсутствовать. В этом случае кнопка неактивна и показывает подсказку.

Когда изменение вступает в силу​

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

Задачи сервиса СРМ​

ЗадачаСистемное имяПо умолчанию
Отправка накопленных событий СРМ в брокер сообщенийsend_outbox_events*/1 * * * *
Проверка и актуализация сохранённых TQL-запросовcheck_tqls*/1 * * * *
Удаление файлов, на которые не осталось ссылокclean_orphan_files*/30 * * * *
Удаление объектов, связанных с удалёнными пользователямиclean_users*/30 * * * *
Физическое удаление КЕ, помеченных к удалениюdelete_marked_cis0 * * * *
Удаление просроченных cookie из хранилища фетчеровclean_expires_cookies0 * * * *
Удаление устаревших записей статистики обогащенияdelete_old_statistics0 * * * *
Удаление устаревших заданий массового импорта КЕclean_bulk_import_jobs15 * * * *

Задачи сервиса мониторинга​

ЗадачаСистемное имяПо умолчанию
Отправка накопленных событий мониторинга в брокер сообщенийsend_outbox_events*/1 * * * *
Обработка очереди пересчёта индикаторов здоровьяhi_outbox*/1 * * * *
Закрытие алертов с истёкшим сроком действияalert_repair*/1 * * * *
Поддержание актуальности TQL-запросов шаблонов мониторингаkeep_alive_template_tql*/5 * * * *
Проверка консистентности индикаторов здоровья и их историиcheck_hi_history0 */6 * * *
Удаление истории индикаторов здоровья и алертов старше заданного срокаhistory_cleanup0 3 * * *

Глубина хранения истории для задачи history_cleanup задаётся переменной HISTORY_DELETE_DAYS сервиса мониторинга, размер порции для hi_outbox — переменной HI_OUTBOX_BATCH_SIZE (см. Cервис мониторинга).

Задача delete_marked_cis удаляет только те КЕ, у которых истёк срок хранения, заданный на их ТКЕ (см. Срок хранения удалённых КЕ). Разрежение её расписания увеличивает задержку между пометкой КЕ к удалению и её исчезновением из базы, но не сам срок хранения.

Задача clean_bulk_import_jobs удаляет задания массового импорта КЕ старше срока из переменной SRM_BULK_IMPORT_KEEP_HOURS (по умолчанию 72 часа) вместе с их отчётами и промежуточными таблицами. Удаляются завершённые задания и задания, у которых оборвался приём файла; выполняющиеся и ждущие в очереди она не трогает. Задание, обработчик которого перестал отвечать, задача переводит в статус «Ошибка» и удаляет его промежуточные таблицы. Разрежение расписания откладывает удаление, но не меняет срок хранения.

Рекомендации​

  • Задачи разбора очередей (send_outbox_events, hi_outbox, alert_repair) обрабатывают накопленное с прошлого запуска. Разрежение их расписания увеличивает задержку доставки событий и обновления индикаторов здоровья.
  • Тяжёлые задачи очистки (history_cleanup, delete_old_statistics) лучше запускать в часы наименьшей нагрузки.
  • Не задавайте расписание, при котором очередной запуск начинается раньше, чем завершился предыдущий: задачи не выстраиваются в очередь, и запуски будут накладываться друг на друга.