我有一个Controller DAG(SampleController),它将调用目标DAG(SampleWait),它们的start_date为datetime.now(),schedule_interval为None。
我从命令行或webserver UI触发Controller DAG,它将立即运行,执行日期为"现在"在我的系统时区。在屏幕截图中,它是17:25 - 这不是我的"真实" UTC时间;这是我当地的时间。
但是,当创建目标的触发DAG运行时,执行日期为"已调整"到UTC时间,无论我如何操作start_date - 它总是会在将来(21:25)。在我的情况下,将来是四个小时,所以目标DAG只是坐在那里什么都不做。我实际上在Controller中有一个等待目标DAG完成的传感器,所以那个人也将无缘无故地进行轮询。
即使Github中控制器 - 目标模式的示例在运行它时也表现出完全相同的行为,但我找不到任何关于如何实际处理此问题的正确文档,只是它是一个陷阱"。
奇怪的是,Airflow似乎知道我的时区并在一个操作员内进行调整,但是当我从命令行或Web服务器UI进行调整时。
是什么给出了?