气流调度程序缓慢1个间隔

时间:2016-12-12 19:41:03

标签: airflow

我有几个时间间隔很慢的时间表。我的配置看起来像

args = {
    'owner' : 'test',
    'start_date' : datetime.now(),
    'email' : ['a@b.com'],
    'email_on_failure': True,
    'email_on_retry' : True,
    'retries' : 3,
    'retry_delay' : timedelta(seconds=30)

}
dag = DAG(
    dag_id='feed_response', default_args=args,
    concurrency=4,
    schedule_interval='0 2 * * 6',
    dagrun_timeout=timedelta(minutes=20)
)

此计划应该运行上周六的实例。它跑到了上周六。我在一些工作中注意到了这种行为。有没有理由为什么调度程序似乎落后一个时间间隔?

2 个答案:

答案 0 :(得分:2)

在“常见陷阱”部分(https://cwiki.apache.org/confluence/display/AIRFLOW/Common+Pitfalls)中的气流维基上描述了此行为:

了解执行日期:Airflow是作为ETL需求的解决方案而开发的。在ETL世界中,您通常会汇总数据。所以,如果我想总结2016-02-19的数据,我会在格林威治标准时间2016-02-20午夜进行,这将在2016-02-19的所有数据可用后立即生效。

答案 1 :(得分:0)

Airflow文档建议不要特别使用start_date datetime.now()的动态值 https://airflow.incubator.apache.org/faq.html#what-s-the-deal-with-start-date