气流:如何清理旧的跑道或避免回填

时间:2016-11-14 21:42:20

标签: python airflow

我对Airflow很新,而且我遇到了这个问题:我有一个dag处理txt文件并将它们转换为csv,这是配置:

one_days_ago = datetime.combine(datetime.today() - timedelta(1),
datetime.min.time())

default_args = {
    'owner': 'airflow',
    'depends_on_past': False, 
    'start_date': one_days_ago,
    'email_on_failure': False,
    'email_on_retry': False,
    'retries': 1,
    'retry_delay': timedelta(minutes=1),
    'max_active_runs':1,
    # 'queue': 'bash_queue',
    # 'pool': 'backfill',
    # 'priority_weight': 10,
    # 'end_date': datetime(2016, 1, 1),
}
dag = DAG('process_file', default_args=default_args, schedule_interval='@daily')

问题是,当dag运行时,从当天处理文件,但也会提供以前的运行结果,所以我不会只有一个csv文件,就在今天,我有那个和其他4个或前几天的5个文件。 我读过关于回填的文章,但我不确定如何避免它或我做错了什么。有什么建议吗?可以清除以前执行的成功运行结果吗?

1 个答案:

答案 0 :(得分:0)

当DAG的start_date发生变化时,Airflow不喜欢它。事实上,在最新版本(1.8+)中,如果你的start_date不明确,它将抛出异常。我想如果你保持start_date固定不会重新运行所有内容。