Airflow 气流调度器慢了1个间隔
我有几张进度表慢了一段时间。我的配置看起来像Airflow 气流调度器慢了1个间隔,airflow,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(
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)
)
此计划应在上周六运行一个实例。这是上周六的比赛。我在我们的一些工作中注意到了这种行为。调度程序似乎落后一个时间间隔,这有什么原因吗?此行为在airflow wiki的“常见陷阱”部分()中进行了描述:
了解执行日期:Airflow是为满足ETL需求而开发的解决方案。在ETL世界中,您通常汇总数据。因此,如果我想总结2016-02-19年的数据,我会在2016-02-20格林威治标准时间午夜进行总结,这将在2016-02-19年的所有数据都可用之后进行。气流维基上的“常见陷阱”部分()描述了这种行为:
了解执行日期:Airflow是为满足ETL需求而开发的解决方案。在ETL世界中,您通常汇总数据。因此,如果我想汇总2016-02-19的数据,我会在2016-02-20格林威治标准时间午夜进行汇总,这将在2016-02-19的所有数据可用后立即进行。气流文档不建议使用
开始日期的动态值,特别是日期时间。现在()
气流文档不建议对start\u date
使用动态值,特别是datetime.now()
这就是为什么人们如此强调通过模板化提供的“昨天”变量。这是没有意义的,为什么昨天有这么多的默认变量,它可以做到这一点。这就是为什么有这么多的重点围绕“昨天的ds”变量通过模板。为什么昨天有那么多的默认变量让它这么做,这是没有道理的。