开门见山,最重要的是要理解startdate 和 scheduler interval的含义及使用场景。
- 在DAG首次开启后会在startdate启动运行
- 运行间隔有月/周/天/时/分之分,总体而言airflow会在下个间隔的起始时间调用上个间隔的任务。
- 对于连续的调度任务而言:
- 如果运行间隔为每天,则第二天运行前一天的任务;
- 如果时间间隔为每小时,则第二小时运行前一小时的任务;
- 对于间断性调度的任务:
- 例如调度间隔为[1,2,5,8,9](小时),则在第二个间隔起始时调用上一个间隔的任务,比如在5点才调用2点的任务,在8点调用5点的任务,在9点调用8点的任务,对于天/小时则以此类推。
用crontab表达式表示调度间隔更加方便,公式编辑及含义可以在这里实时查看。
- 例如调度间隔为[1,2,5,8,9](小时),则在第二个间隔起始时调用上一个间隔的任务,比如在5点才调用2点的任务,在8点调用5点的任务,在9点调用8点的任务,对于天/小时则以此类推。
参考资料: