python — Как настроить dag воздушного потока для запуска два раза в день

Благодаря моим недавним исследованиям я пришел к выводу, что schedule_interval для воздушного потока имеет некоторые особенности, и я сделал все возможное, чтобы попытаться интерпретировать, как это может влиять на то, что я делаю, но не совсем удалось это понять .

Я использую эти аргументы по умолчанию:

default_args = {
    'owner': 'airflow',
    'depends_on_past': False,
    'start_date': datetime(2019, 1, 12),
    'email': ['[email protected]'],
    'email_on_failure': True,
    'email_on_retry': False,
    'retries': 0,
    'retry_delay': timedelta(minutes=5),
    'schedule_interval': '0 0,12 * * *'
}

и я хотел бы, чтобы DAG запускался в полночь и в полдень.

В настоящее время он работает только в полночь, и я не могу понять, почему. Я запускаю это в Google Cloud Composer, если это имеет значение.

*edit - исправлена ​​опечатка


person Mike Sumner    schedule 15.02.2019    source источник
comment
Это потенциально может помочь вам: stackoverflow.com/questions/41730297 /   -  person Paulie    schedule 15.02.2019
comment
спасибо, но я боюсь, что в нем не так много подробностей о тонкостях schedule_interval   -  person Mike Sumner    schedule 15.02.2019


Ответы (1)


Я бы использовал выражение cron «каждый двенадцатый час», а не «на наших 0 и 12». Как вы, наверное, читали, Airflow работает, создавая интервалы и планируя задачи в конце каждого интервала. Интервалы создаются путем добавления периода, описываемого выражением cron, к дате начала Dag.

Попробуйте 'schedule_interval': '0 */12 * * *', оно будет работать так же, как и ваше выражение, поскольку ваша дата начала — полночь.

person gogstad    schedule 15.02.2019
comment
Спасибо, это имеет смысл - person Mike Sumner; 27.02.2019