Описание smart-расписания в новом интерфейсе администрирования (для версий 2.261 Лира и выше) |
---|
Некоторые операции должны выполняться регулярно, по расписанию. Например, раз в неделю нужно формировать сводный заказ по поступившим заявкам.
С помощью смарт-расписаний можно запускать пакеты действий, которые будут выполняться с определенным интервалом и в течение определенного периода.
Настройка смарт-расписания
Попытки выполнения
В поле "Попыток выполнения смарт-расписания" указывается максимальное количество попыток повторного выполнения смарт-расписания при возникновении ошибок. По умолчанию это значение равно 5. Количество попыток не может быть меньше 1.
Режим выполнения
• Вне контекста задачи – пакет действий выполняется вне зависимости от значений параметров какой-либо одной задачи. Для таких смарт-расписаний пакеты действий могут содержать только ограниченный набор действий:
Смарт-действия, доступные вне контекста задачи
• Для каждой задачи, отфильтрованной [smart-фильтр] – пакет выполняется для всех задач данной категории, соответствующих условию смарт-фильтра. В смарт-фильтре и смарт-пакете доступен контекст этих задач.
Асинхронное выполнение
По умолчанию все пакеты действий, инициируемые смарт-расписаниями, выполняются синхронно, т.е. последовательно в одном потоке. Это могут быть и "легкие" пакеты, выполняемые за несколько секунд, и "тяжелые" пакеты, которые выполняются час и долее. Если "тяжелый" пакет выполняется дольше, чем интервал запуска какого-то другого расписания, то он будет тормозить весь поток, и тогда остальные пакеты не будут запущены и не отработают вовремя.
Если для расписания включен флажок Асинхронно, этот пакет действий будет выполняться в отдельном потоке.
Запуском расписаний управляет задание по таймеру SmartRecurrenceJob.
Игнорировать ошибки в процессе выполнения
Расписание может отрабатывать по всем задачам, даже при наличии ошибок в одной из них. Это позволяет настройка "Игнорировать ошибки в процессе выполнения" — по умолчанию она отключена. Если настройка активна, то при выполнении расписания процесс не будет прерван в случае ошибок — задача с ошибкой будет пропущена и расписание продолжит работу на следующей задаче.
Отключение расписания и особенности работы
Чтобы отключить выполнение смарт-расписания, отключите флажок "Активно".
Смарт-расписание, настроенное в категории, выполняется только в рамках данной категории и только при наличии хотя бы одной задачи в категории. Если нужно обрабатывать задачи из другой категории, используйте смарт-расписания в Общих SMART. |
---|
Пакеты, содержащие действие "Отменить", не доступны для использования в расписании. |
---|
Если при выполнении расписания возникло более двух ошибок, выполнение прерывается. Это сделано для того, чтобы избежать зацикливания. |
---|
Особенности смарт-фильтров для расписаний
Если смарт-фильтр был написан как смарт-выражение, а затем преобразован и сохранен в формате TSQL, он по умолчанию будет содержать проверку
WHERE ([Extent1].[TaskID] = @ContextID) AND ...
Если такой смарт-фильтр используется для расписания, то проверку ([Extent1].[TaskID] = @ContextID) нужно убрать.
Принудительное выполнение
Пакет действий из настроенного расписания может быть вызван принудительно, вне графика. Для этого выберите смарт-расписание и нажмите кнопку Запустить сейчас.
Запуск настроенного расписания вручную