Я новичок в воздушном потоке и пытаюсь понять, что execution_date
означает в контексте воздушного потока. Я прочитал страницу руководства из документации по воздушному потоку, в которой говорится, что
Дата, указанная в этом контексте, — это Execution_date, которая имитирует планировщик, выполняющий вашу задачу или dag в определенную дату + время:
Я попытался запустить задачу из учебника, используя следующую команду.
airflow test tutorial print_date 2015-06-01
Я ожидал, что он напечатает execution_date
, но задача напечатать фактическую дату в моей локальной системе вот так.
[2018-05-26 20:36:13,880] {bash_operator.py:101} INFO - Sat May 26 20:36:13 IST 2018
Я думал, что планировщик будет смоделирован в определенное время. Итак, я запутался здесь в понимании параметра execution_date
. Может ли кто-нибудь помочь мне понять это? Спасибо.
Он печатает текущее время в вашем журнале, потому что он действительно был выполнен в это время.
Дата выполнения — это параметр запуска DAG. Задачи могут использовать его для указания даты, отличной от даты фактического выполнения задачи.
Пример: скажем, вы хотите сохранять курсы валют один раз в день. Вы хотите получать ставки с 2010 года. У вас будет задача в DAG вызвать API, который вернет курс валюты за день. Вы можете создать группу обеспечения доступности баз данных с датой начала 01.01.2010 с расписанием один раз в день. Даже если вы создадите его сейчас, в 2018 году он будет запускаться каждый день с даты начала, и благодаря дате выполнения у вас будут правильные данные.
Значит, это просто аргумент времени выполнения, переданный в DAG, который может использоваться определенными в нем задачами, верно? — person pkgajulapalli; 27.05.2018
да. Но он также определяет, как часто ваш DAG будет запускаться, если вы объедините его с расписанием. — person pkgajulapalli; 27.05.2018