Мне нужно написать хранимые процедуры для планирования конвейеров Azure (Задания).
- Частота ---- Сколько раз партия должна запускаться за день
- В столбце времени указывается время начала партии
Таблица A будет содержать статические записи для партий. Частота обозначает за день, сколько раз будет выполняться задание, а в столбце хронирования время выполнения пакета будет разделено запятой (,)
Batch_ID Batch_Name Frequency Timing
-----------------------------------------------
1 ABC 2 7:00,13:00
Таблица B будет иметь список заданий, соответствующих одному конкретному пакету. Эта таблица будет статической и будет иметь одноразовую запись, как таблица B.
Таблица B
Batch_ID JOB_ID JOB_NM
--------------------------------
1 1 Job_1
1 2 Job_1
Таблица C будет содержать зависимости заданий в пакете
Таблица C
Batch_ID JOB_ID DEPENDENY_JOB_ID
----------------------------------------
1 1
1 2 1
Когда Пакетное выполнение выполняется, таблица D будет заполнена временем пакетного запуска.
Таблица D
Batch_ID Batch_Name Status start_Time end_time
-------------------------------------------------------
1 abc Start 7:00
Как только таблица E заполняется, таблица D заполняется сведениями о задании. Задание 2 запускается только после завершения задания 1.
Таблица E
Batch_ID Batch_Name JOB_ID JOB_NM Start_Time End_Time
----------------------------------------------------------------------
1 abc 1 Job_1 7:00
1 abc 2 Job_2 7:15
Когда задание 2 будет завершено, мы обновим столбец времени окончания таблицы D.
После того, как первый запуск завершен, нам нужно проверить столбец частоты таблицы A и снова запустить задание (если оно больше 1) и снова выполнить все упражнение.
В случае, если наша 1-я партия не была завершена до времени начала партии 2, мы должны удерживать 2-ю партию до завершения партии 1.
Может ли кто-нибудь помочь мне, как начать это?