SourceTask: IEtlTask;
Свойство SourceTask определяет задачу ETL, которую необходимо выполнить.
Для выполнения примера предполагается наличие в репозитории контейнера запланированных задач с идентификатором «TASK_CONTAINTER» и задачи ETL с идентификатором «Etl_1».
Sub Main;
Var
MB: IMetabase;
CrInfo: IMetabaseObjectCreateInfo;
MObj: IMetabaseObject;
Etl: IExecuteEtlScheduledTask;
Period: IScheduledTaskPeriodMonthly;
Prop: IScheduledTaskProperties;
i: Integer;
Begin
MB := MetabaseClass.Active;
CrInfo := MB.CreateCreateInfo;
CrInfo.ClassID := MetabaseObjectClass.KE_CLASS_TASK_EXECUTEETL;
CrInfo.Id := "ETL_EXECUTOR";
CrInfo.Name := "Выполнение задачи ETL";
CrInfo.Parent := MB.ItemById("TASK_CONTAINTER");
MObj := MB.CreateObject(CrInfo).Edit;
Etl := MObj As IExecuteEtlScheduledTask;
Etl.SourceTask := MB.ItemById("Etl_1").Bind As IEtlTask;
Prop := Etl.Properties;
Period := Prop.CreatePeriod(ScheduledTaskPeriodType.Monthly) As IScheduledTaskPeriodMonthly;
Period.DayOfWeek := CalendarDayOfWeek.LocaleDefault;
Period.Day := 1;
For i := 1 To 12 Do
Period.Months(i As CalendarMonth) := True;
End For;
Period.StartTime := DateTime.ComposeTimeOfDay(12, 0, 0, 0);
Prop.Period := Period;
MObj.Save;
End Sub Button1OnClick;
После выполнения примера в контейнере запланированных задач будет создана новая задача выполнения задачи ETL. Задача ETL будет запускаться в первый день каждого месяца в "12:00".
См. также: