Airflow 如何在“气流”中的非捕捉设置中对齐执行日期?

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

在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, 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开始的。