Show/Hide Toolbars

Руководство администратора

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

Ссылки Назад Вверх Вперед

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

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

timing

Настройка смарт-расписания.

Попытки выполнения

В поле "Попыток выполнения смарт-расписания" указывается максимальное количество попыток повторного выполнения смарт-расписания при возникновении ошибок. По умолчанию это значение равно 5. Количество попыток не может быть меньше 1.

Режим выполнения

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

timing_actions

Смарт-действия, доступные вне контекста задачи.

Для каждой задачи, отфильтрованной [smart-фильтр] – пакет выполняется для всех задач данной категории, соответствующих условию смарт-фильтра. В смарт-фильтре и смарт-пакете доступен контекст этих задач.

Асинхронное выполнение

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

Если для расписания включен флажок Асинхронно, этот пакет действий будет выполняться в отдельном потоке.

Запуском расписаний управляет задание по таймеру SmartRecurrenceJob.

Игнорировать ошибки в процессе выполнения

Расписание может отрабатывать по всем задачам, даже при наличии ошибок в одной из них. Это позволяет настройка "Игнорировать ошибки в процессе выполнения" — по умолчанию она отключена. Если настройка активна, то при выполнении расписания процесс не будет прерван в случае ошибок — задача с ошибкой будет пропущена и расписание продолжит работу на следующей задаче.

Отключение расписания и особенности работы

Чтобы отключить выполнение смарт-расписания, отключите флажок "Активно".

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

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

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

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

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

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

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

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

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

timing_2

Запуск настроенного расписания вручную.

Полезные ссылки