Расписание Apache Airflow в полночь UTC - PullRequest
0 голосов
/ 17 октября 2018

Я создал Apache Airflow DAG со следующими параметрами по умолчанию.Я хочу, чтобы этот DAG запускался каждый день в 10:00 UTC, но он всегда работает в 12:00 UTC и игнорирует дату, которую я установил в start_date.Разве это не правильный путь?Спасибо.

default_args = {
    'owner': config.OWNER,
    'depends_on_past': False,
    'start_date': datetime(2018, 10, 14, 22, 0, 0),
    'email': [config.ALERT_EMAIL],
    'email_on_failure': True,
    'email_on_retry': False,
    'retry_delay': timedelta(minutes=1),
    'retries': 2,
}

# DAG
dag = DAG('Test',
          default_args=default_args,
          description='Initial setup',
          schedule_interval='@daily')

Ответы [ 2 ]

0 голосов
/ 26 августа 2019

Относительно schedule_interval у вас есть как минимум три варианта:

  • datetime.timedelta

  • dateutil.relativedelta

  • строка в стиле cron

schedule_interval определяет частоту выполнения этой группы обеспечения доступности баз данных.Этот объект timedelta добавляется к дате выполнения вашего последнего экземпляра задачи, чтобы выяснить следующее расписание.И имейте в виду, что: start_date для задачи определяет дату выполнения для первого экземпляра задачи.

0 голосов
/ 17 октября 2018

Вы также можете использовать формат cron в своем аргументе schedule interval, например:

# DAG
dag = DAG('Test',
          default_args=default_args,
          description='Initial setup',
          schedule_interval='0 22 * * *')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...