我具有以下dag设置,可从2015年开始追赶。对于每个执行日期,任务实例将在一分钟内完成。但是,第二天的任务仅在5分钟内启动。例如。 10:00 AM,10:05 AM,10:10 AM等。我看不到为任务实例指定5分钟的间隔。如何修改dag以在上一个实例完成后立即触发? 我正在使用Airflow版本1.9.0
default_args = {
'owner': 'ssnehalatha',
'email': ['ssnehalatha@metromile.com'],
'depends_on_past': False,
'start_date': datetime(2015, 1, 1),
'on_failure_callback': jira_failure_ticket,
'trigger_rule': 'all_done',
'retries': 1,
'pool': 'python_sql_pool'
}
dag = DAG('daily_dag',
schedule_interval='15 1 * * 0,1,2,3,4,5',
default_args=default_args,
dagrun_timeout=timedelta(hours=24),
catchup=True)
答案 0 :(得分:3)
如果我没记错的话,这与airflow.cfg
中的调度程序设置有关。
[scheduler]
# The scheduler constantly tries to trigger new tasks (look at the
# scheduler section in the docs for more information). This defines
# how often the scheduler should run (in seconds).
scheduler_heartbeat_sec = 60
编辑
您提到的两个参数的文档(来自https://github.com/apache/incubator-airflow/blob/master/UPDATING.md):
min_file_process_interval 之后应从文件系统中获取更新的DAG。
dag_dir_list_interval 调度程序应重新列出DAG目录内容的频率。如果在开发+ dag时没有将其拾取,请查看此数字并在必要时减少它。
在我看来,与执行任务相比,它们更多地用于检测已更改和新的DAG 文件。