Создание Цепочек Заданий

Рубрика: Планировщик задач

  1. Создайте объект цепочки.

  2. Определите шаги цепочки.

  3. Определите правила цепочки.

  1. Запуск цепочки:

    • Включите цепочку.

    • Создайте задание, которое указывает на цепочку.

Создание Цепочек Заданий

Цепочка является именованной последовательностью программ, которые соединяются вместе для объединенной цели. Это известно как “планирование зависимостей”. Примером цепочки может быть следующее:

Выполнить программу A и затем программу B, и выполнить программу C, но только в том случае, если программы A и B завершаются успешно, иначе выполнить программу D.

Каждая позиция в пределах цепочки взаимозависимых программ упоминается как шаг. Как правило, после того, как начальный набор цепочечных шагов запустился, выполнение последующих шагов зависит от завершения одного или более предыдущих шагов. Чтобы создать и использовать цепочку, Вы выполняете следующие шаги по порядку. Все упомянутые процедуры являются частью пакета DBMS_SCHEDULER, если не указано иное.

  1. Создайте цепочку при использовании процедуры CREATE_CHAIN. Имя цепочки может быть дополнительно квалифицировано именем схемы (например, моя_схема.мое_имя).

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

    • Программа

    • Другая цепочка (вложенная цепочка)

    • Событие

    Вы определяете шаг, который указывает на программу или вложенную цепочку, вызывая процедуру DEFINE_CHAIN_STEP.

    Чтобы определить шаг, который ожидает события, которое должно произойти, Вы используете процедуру DEFINE_CHAIN_EVENT_STEP. Параметры процедуры могут указывать на расписание события или могут включать встроенную спецификацию очереди и условие события. Шаг, который указывает на событие, ожидает, пока указанное событие не генерируется. Если событие имеет место, шаг завершается успешно.

  1. После создания объекта цепочки Вы определяете правила цепочки. Правила цепочки определяют, когда шаги запускаются, и определяют зависимости между шагами. У каждого правила есть условие и действие:

    • Если условие становится TRUE, действие выполняется. Условие может содержать любой синтаксис, который допустим в SQL предложении WHERE. Условия обычно основаны на результате одного или более предыдущих шагов. Например, можно сделать так, чтобы один шаг срабатывал, если два предыдущих шага выполнились успешно, и другой, если любой из двух предыдущих шагов не сработал.

    • Действие определяет то, что должно быть сделано в результате срабатывания правила. Типичное действие - выполнить указанный шаг. Возможные действия включают запуск или остановку шага. Можно также закончить выполнение цепочки заданий, возвращая либо значение, либо имя шага и код ошибки.

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

  1. Запуск цепочки включает два действия:

    • Включить цепочку процедурой ENABLE. (Цепочка всегда создается отключенной, таким образом, можно добавить шаги и правила к цепочке прежде, чем она будет выполнена любым заданием.) Включение уже включенной цепочки не возвращает ошибку.

    • Чтобы выполнить цепочку, следует создать задание типа 'CHAIN'. Действие задания должно ссылаться на имя цепочки. Можно использовать или основанные на событии или основанные на времени расписания для этого задания.

Пример Цепочки

Пример Цепочки

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

Далее: Сжатие OLTP для Операций DML

Смотрите также
Комментарии
Написать

(обязательно)

(обязательно)

Это не спам (обязательно)