【发布时间】:2017-09-08 13:03:57
【问题描述】:
.大家好,
从 Airflow UI 中,我们试图了解如何在未来的特定时间启动 DAG 运行,但我们总是在追赶模式下获得 2 次额外运行(即使追赶被禁用)
示例
使用以下参数创建 DAG 运行
- 开始日期:10:30
- execution_date:未定义
- 间隔 = 3 分钟(来自 .py 文件)
- catchup_by_default = 假
在当前时间打开 ON 开关:10:28。我们得到的是 Airflow 触发了 2 个 DAG 运行,execution_date 在:
- 10:24
- 10:27
并且这两个 DAG 运行一个接一个地以追赶模式运行,这不是我们想要的 :-(
我们做错了什么? 我们可能理解 10:27 的运行(ETL 概念),但我们没有得到 10:24 的运行 :-(
感谢您的帮助:-)
详情:
操作系统:RedHat 7
Python:2.7
气流:v1.8.0
DAG python 文件:
from airflow import DAG
from airflow.operators.bash_operator import BashOperator
from datetime import datetime, timedelta
default_args = {
'owner': 'aa',
'depends_on_past': False,
'start_date': datetime(2017, 9, 7, 10, 30),
'run_as_user': 'aa'
}
dag = DAG(
'dag3', default_args=default_args, schedule_interval=timedelta(minutes=3))
dag.catchup = False
create_command = "/script.sh "
t1 = BashOperator(
task_id='task',
bash_command='date',
dag=dag)
【问题讨论】:
-
对于这个问题@AxA 有公认的答案吗??
-
来自 Chris269 的版本可以,但它是一个不同的 python 版本,我们当时无法使用
-
@Nandha,我知道 Chris269 的答案有效,但它是 Python 的不同版本。当时,我们无法在那个环境中使用 python 3.5