Почему Airflow DAG не запланирован? - PullRequest
0 голосов
/ 11 сентября 2018

Приведенный ниже код вызывает DAG в 12:37, когда подача воздуха начинается в 12:35 (во вторник).

Но когда я удаляю из кода ", minutes = 10", запуск не запланирован. Почему это так?

start_date = datetime.utcnow().replace(tzinfo=pytz.UTC) \
                      - timedelta(days=7, minutes=10)
dag = DAG(default_args={'start_date': start_date},
          schedule_interval='37 12 * * tue', dag_id='test1')
task = PythonOperator(...)
dag >> task

Вариант кода без минут:

start_date = datetime.utcnow().replace(tzinfo=pytz.UTC) \
                      - timedelta(days=7)

1 Ответ

0 голосов
/ 11 сентября 2018

Я нашел решение сам. Поскольку Airflow все время «воссоздает» DAG, «сейчас» движется, см. https://airflow.apache.org/faq.html#what-s-the-deal-with-start-date И именно поэтому работа не началась.

Итак, я определил фиксированную дату начала (что-нибудь в далеком прошлом) и использовал LatestOnlyOperator. Это работает.

start_date = datetime(2018, 9, 1, 0, 0, tzinfo=pytz.UTC)
dag = DAG(default_args={'start_date': start_date},
          schedule_interval='37 12 * * tue', dag_id='test1')
latest_only = LatestOnlyOperator(task_id='latest_only', dag=dag)
task = PythonOperator(...)
dag >> latest_only >> task
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...