Перейти к содержанию

Смарт-расписания

Некоторые операции должны выполняться регулярно, по расписанию. Например, раз в неделю нужно формировать сводный заказ по поступившим заявкам.

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

Красным цветом в списке выделены расписания, которые не запускаются из-за возникших в ходе выполнения ошибок. Количество неудачных попыток выполнения расписания доступно в колонке Из лимита, а максимальное количество попыток повторного выполнения смарт-расписания при возникновении ошибок отображается в колонке Лимит. Лимит совпадает со значением, указанным в настройке Попыток выполнения смарт расписания.

Создание смарт-расписания

Для создания расписания нажмите кнопку Создать смарт-расписание над таблицей.

Настройка Описание
Активно Параметр обозначает, активно ли расписание в данный момент. Если галочка установлена, то расписание будет исполняться в соответствии с заданными интервалами, если не установлена — расписание будет временно отключено.
Интервал Частота выполнения расписания. Возможные варианты:
-Ежеминутно
-Ежедневно
-Еженедельно
-Ежемесячно
-Ежегодно
Продолжительность Продолжительность расписания.
Начало повторения: дата и время, с которых стартует расписание
Прекратить после: параметр определяет дату и время, после которой расписание больше не будет выполняться, даже если наступает время его запуска.
Повторять до: срок, в течение которого расписаие будет повторяться. После достижения этого срока расписаие будет прекращено.
Вложенные файлы Режим обработки вложенных файлов:
Не копировать: оригиналы файлов не будут скопированы.
Использовать ссылки на оригинал: будет создана ссылка на оригиналы файлов, без создания копий.
Создать новые копии: для каждого файла будут создаваться новые копии.
Попыток выполнения смарт расписания Максимальное количество попыток повторного выполнения смарт-расписания при возникновении ошибок. По умолчанию это значение равно 5. Количество попыток не может быть меньше 1.
Асинхронно Асинхронное выполнение.
По умолчанию все пакеты действий, инициируемые смарт-расписаниями, выполняются синхронно, т.е. последовательно в одном потоке. Это могут быть и "легкие" пакеты, выполняемые за несколько секунд, и "тяжелые" пакеты, которые выполняются час и долее. Если "тяжелый" пакет выполняется  дольше, чем интервал запуска какого-то другого расписания, то он будет тормозить весь поток, и тогда остальные пакеты не будут запущены и не отработают вовремя.
Если для расписания включен флажок Асинхронно, этот пакет действий будет выполняться в отдельном потоке.
Запуском расписаний управляет задание по таймеру SmartRecurrenceJob.
Режим выполнения Вне контекста задачи: пакет действий выполняется вне зависимости от значений параметров какой-либо одной задачи. Для таких смарт-расписаний пакеты действий могут содержать только ограниченный набор действий:
Для каждой задачи, отфильтрованной [smart-фильтр]: пакет выполняется для всех задач данной категории, соответствующих условию смарт-фильтра. В смарт-фильтре и смарт-пакете доступен контекст этих задач.
Пакет действий Пакет действий, который будет выполняться в назначенное время
Игнорировать ошибки в процессе выполнения Расписание может отрабатывать по всем задачам, даже при наличии ошибок в одной из них. Это позволяет настройка "Игнорировать ошибки в процессе выполнения" — по умолчанию она отключена. Если настройка активна, то при выполнении расписания процесс не будет прерван в случае ошибок — задача с ошибкой будет пропущена и расписание продолжит работу на следующей задаче.

ℹ️ Смарт-расписание, настроенное в категории, выполняется только в рамках данной категории и только при наличии хотя бы одной задачи в категории. Если нужно обрабатывать задачи из другой категории, используйте смарт-расписания в Общих смартах.

ℹ️ Пакеты, содержащие действие "Отменить", не доступны для использования в расписании

ℹ️ Если при выполнении расписания возникло более двух ошибок, выполнение прерывается. Это сделано для того, чтобы избежать зацикливания.

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

Редактирование смарт-расписания

Для редактирования смарт-расписания нажмите на него в списке или вызовите контекстное меню кликом правой кнопки мыши на строку и выберите пункт Редактировать.

Откроется форма редактирования смарт-расписания.

Особенности смарт-фильтров для расписаний

Если смарт-фильтр был написан как смарт-выражение, а затем преобразован и сохранен в формате TSQL, он по умолчанию будет содержать проверку

WHERE ([Extent1.\TaskID\ = @ContextID) AND ...]

Если такой смарт-фильтр используется для расписания, то проверку (\Extent1.\TaskID\ = @ContextID) нужно убрать.

Принудительное выполнение

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

Удаление смарт-расписания

Для удаления смарт-расписания вызовите контекстное меню кликом на строку и выберите пункт Удалить.

Логирование смарт-расписания

Начиная с версии 2.264 Кассиопея, логирование смарт-расписаний в логе автоматизации зависит от опций Логировать выполнение smart пакетов действий дольше мс. в Общих настройках приложения.

Описание smart-расписания в прежнем интерфейсе администрирования