Выполните задание «Воздушный поток» 12-го числа месяца и за 2 дня до последнего дня месяца. - PullRequest
0 голосов
/ 01 октября 2019

Мне нужно выполнить ту же задачу с воздушным потоком в 12-й день месяца и за 2 дня до последнего дня месяца.

Я пытался с макросами и execution_date. Не уверен, как действовать дальше. Не могли бы вы помочь с этим?

def check_trigger(execution_date, day_offset, **kwargs):
    target_date = execution_date - timedelta(days = day_offset)
    return target_date

1 Ответ

0 голосов
/ 11 октября 2019

Я бы подошел к этому, как показано ниже. И twelfth_or_two_before - это функция Python, которая просто проверяет дату и возвращает task_id соответствующей последующей задачи. (Таким образом, если бизнесу когда-либо понадобятся изменения и вам нужно запускать реальные задачи в другой / дополнительный день (дни), вы просто изменяете эту функцию.)

with DAG( ... ) as dag:
    right_days = BranchPythonOperator(
        task_id="start",
        python_callable="twelfth_or_two_before,
    )
    do_nothing = DummyOperator(task_id="do_nothing")
    actual_task = ____Operator( ... )  # This is the Operator that does actual work
    start >> [do_nothing, actual_task]
...