我正在探索将Airflow用作cron,以便在设置cron时可以使用其他功能。
我通过设置cron来测试它的功能
"2,3,5,8, * * * *"
。我期待在每小时2,3,5和8分钟安排特定的dag。但实际上,第2分钟的dag在3日执行,第5分钟执行,第5分钟执行。它根本没有执行到第8次。我猜它会在下一个小时的第2分钟执行8日。
在气流中看起来像某种bug或者没有处理过cron表达式的情况。
答案 0 :(得分:1)
这不是错误。我同意这感觉很奇怪,但在此解释:https://pythonhosted.org/airflow/scheduler.html
请注意,如果您在一天的schedule_interval上运行DAG,则会在2016-01-01T23:59之后不久触发标记为2016-01-01的运行。换句话说,作业实例一旦它所涵盖的时间段结束就会启动。
答案 1 :(得分:1)
是的,那是因为气流不会在间隔上执行,而是在该间隔结束后执行。由于您指定了分钟2,3,5,8,因此它将在这些间隔结束时运行,分别为3,5,8和2.这在文档here
中有解释。