Планировщик задач

Задание планировщика – это документ специального класса “ЗАДАНИЕ ДЛЯ ПЛАНИРОВЩИКА ЗАДАЧ”. Параметры этого документа описывают задачу, которую нужно выполнить, и расписание, по которому эта задача должна выполняться.

Есть три типа заданий – “Локальное задание”, “Задание для всех узлов сети” и “Задание для узла сети”. Планировщик обрабатывает эти три типа одинаково. Различие состоит только в том, как эти задания передаются между узлами сети почтовой службой – именно ради этого и введены разные типы заданий. Тип задания выбирается при его создании, и потом не может быть изменен.

Ввод параметров задания

Форма ввода параметров задания (закладка «Основные параметры») позволяет ввести следующие параметры:

  • Признак «Является актуальным», по умолчанию «Да», позволяет исключить задание из списка исполняемых, не удаляя его. Если этот признак имеет значение «Нет», то такое задание исключается планировщиком из списка исполняемых.
  • Строка «Идентификатор планировщика» позволяет распределять общий список заданий между несколькими параллельно работающими планировщиками. Это актуально для систем с высокой нагрузкой, либо в том случае, когда требуется параллельное исполнение заданий. Планировщик выполняет из общего списка только те задания, у которых указан идентификатор, совпадающий с идентификатором планировщика. Идентификатор задается планировщику при конфигурировании системы, его значение отображается в заголовке окна планировщика.
  • Поле «Узел сети» доступно только для задания с типом “Задание для узла сети”. В это поле необходимо выбрать (из списка) узел сети, на котором это задание будет выполняться. Задание данного типа выполняется планировщиком только в том случае, если узел сети в задании совпадает с узлом сети, к которому привязана текущая БД. «Чужие» задания планировщик игнорирует. Кроме того, это поле используется почтовой службой Домино для маршрутизации (передачи) таких заданий из центральной БД, где они обычно создаются, на соответствующие узлы-точки, где эти задания должны выполняться.
  • Поле «Задача» определяет, что именно должен выполнить планировщик, исполняя это задание. Задача выбирается из списка возможных, содержимое этого списка определяется установленным проектным решением.

Управление расписанием

  • Закладка «Основные параметры». Основной параметр управления расписанием – это «Режим запуска». Есть четыре варианта:
    1. Ежедневно, в указанное время
    2. Ежедневно, в указанном интервале времени с указанной периодичностью
    3. С момента запуска планировщика с указанной периодичностью
    4. От указанной даты-времени с указанной периодичностью

Остальные параметры управления расписанием зависят от того, какой будет выбран режим запуска.

  • Закладка «Планирование по дням недели» содержит группу признаков, каждый из которых определяет возможность запуска задания в определенный день недели. Общее правило: если для какого-либо дня недели признак не задан, то считается, что запуск задания в этот день разрешен. Если для всех дней недели установлены значения признаков «Нет», то такое задание выполняться не будет. Планирование по дням недели влияет на расписание для любого режима запуска задания.
Режим «Ежедневно, в указанное время»

Задание будет запущено один раз в день в указанное время(*, см. Примечание). Если установлено ограничение по дням недели, то задание будет выполняться только в указанные дни.

Режим «Ежедневно, в указанном интервале времени с указанной периодичностью»

Наиболее общий вариант управления расписанием. Задаются время начала, время окончания и периодичность запуска задания. Задание запускается многократно в течении дня с указанной периодичностью. Если время начала не задано, то считается 00:00:00. Если не задано время окончания, то считается 23:59:59. Если установлено ограничение по дням недели, то задание будет выполняться только в указанные дни.

  • Период повторения (задания) –  это целое положительное число, он может быть задан в секундах, минутах или часах. Можно задавать в сутках, но это лишено смысла. Так же бессмысленно задавать период больше, чем продолжительность интервала времени, в котором разрешен запуск задания – в этом случае задание будет выполняться один раз в сутки в момент, определенный параметром «Время начала».
  • Время начала интервала может быть больше, чем время окончания. Это значит, что интервал переходит через полночь на следующий день. Например, интервал с 22:00 до 04:00 означает запуск задания с 10 часов вечера текущего дня до 4 часов утра следующего дня. Если установлено ограничение по дням недели, и интервал переходит через полночь, то контроль дня идет по времени начала интервала. Например, если разрешено выполнение задания нашего в субботу и воскресенье,  то оно будет выполняться  каждую неделю с 10 часов вечера субботы до 4 часов утра воскресенья, и 10 часов вечера воскресенья до 4 часов утра понедельника.
Режим «С момента запуска планировщика с указанной периодичностью»

Очень простой режим. Задание первый раз запускается при запуске планировщика, и далее повторяется с указанной периодичностью. Период повторения (задания) –  это целое положительное число, он может быть задан в секундах, минутах или часах или днях. Если установлено ограничение по дням недели, то задание будет выполняться только в указанные дни.

Режим «От указанной даты-времени с указанной периодичностью»

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

Время очередного запуска задания, которое рассчитал планировщик, является планируемым временем. Запуск задания именно в этот момент не гарантирован, т.е. планировщик не является сервисом «реального времени». Запланированные задания выполняются планировщиком последовательно, и пока текущее задание не завершится, следующее не может быть запущено. Поэтому гарантируется только то, что а) задание не будет запущено раньше положенного, и б) запланированное задание будет выполнено, даже если реальное время его запуска «выезжает» за разрешенный интервал.