Airflow 如何在“气流”中的非捕捉设置中对齐执行日期?
在catchup设置中,我注意到发送给executor的执行日期是正确对齐的,但当我关闭catchup设置时,如下所示:Airflow 如何在“气流”中的非捕捉设置中对齐执行日期?,airflow,airflow-scheduler,Airflow,Airflow Scheduler,在catchup设置中,我注意到发送给executor的执行日期是正确对齐的,但当我关闭catchup设置时,如下所示: import airflow from airflow import DAG from airflow.operators.bash_operator import BashOperator from airflow.operators.dummy_operator import DummyOperator from datetime import datetime, tim
import airflow
from airflow import DAG
from airflow.operators.bash_operator import BashOperator
from airflow.operators.dummy_operator import DummyOperator
from datetime import datetime, timedelta
default_args = {
'owner': 'airflow',
'depends_on_past': True,
'start_date': airflow.utils.dates.days_ago(5),
'schedule_interval': '@daily'
}
dag = DAG('xiang-01', catchup=False, default_args=default_args)
task = BashOperator(
task_id='task',
bash_command='echo "{{ task_instance_key_str }} {{ ts }}" && sleep 10',
dag=dag)
执行日期未对齐,例如,呈现的任务为:
echo "xiang-01__task__20180909 2018-09-09T22:33:17.961926+00:00" && sleep 10
根据该文件,应将其对齐:
那么我错过了什么
更新:
更准确地说,因为我的开始日期是通过
天之前(5)
设置的,设置为5天前的午夜,从00:00:00开始。我所期望的是,执行日期也将在午夜前对齐,类似于2018-09-09T00:00:00
,但我得到的是一个时间2018-09-09T22:33:17.961926+00:00
,看起来与我取消暂停此DAG的时间对齐。我发现,以下修改有效:
import airflow
from airflow import DAG
from airflow.operators.bash_operator import BashOperator
from airflow.operators.dummy_operator import DummyOperator
from datetime import datetime, timedelta
default_args = {
'owner': 'airflow',
'depends_on_past': True,
'start_date': airflow.utils.dates.days_ago(5),
#'schedule_interval': '@daily'
}
dag = DAG('xiang-02', catchup=False, default_args=default_args, schedule_interval='@daily')
task = BashOperator(
task_id='task',
bash_command='echo "{{ task_instance_key_str }} {{ ts }}" && sleep 10',
dag=dag)
catch是,看起来像是
schedule\u interval
现在是一个DAG参数,如果我在DAG构造中使用它,它现在就可以正常工作了。你想让它与什么对齐?catch就是这样工作的。如果为假,则只在最近的一天运行,在您的情况下是2018-09-09。您希望得到什么结果?@VirajParekh谢谢您的回复,我更新了底部的问题。@pacuna谢谢您的回复,我更新了底部的问题。@XiangZhang如果设置catchup=True
,您能试着检查输出吗。另外,尝试使用静态开始日期而不是相对日期,以确保它是从00:00:00开始的。