etl - 如何获得正确的气流时间表
问题描述
我对气流计划的工作方式感到非常困惑。我想安排一个在周五运行的 dag,我想在周六使用它的结果。所以我做了这样的 crontab 表达式:00 16 * * 5
但是,截至今天 2020 年 3 月 10 日,我从气流运行中获得的最后执行日期是 2020 年 2 月 28 日。这是不希望的,因为最近的星期五实际上是 2020 年 3 月 6 日,除非我每天安排它并在不是星期五时跳过它,否则我无法让 2020 年 3 月 6 日运行。有没有办法正确地执行这个计划?
解决方案
很多人对 Airflow 的工作原理execution_date
和schedule_interval
价值观感到困惑,即它会等待一段时间“关闭”,然后才会在这段时间内执行;这是我之前给出的答案的一部分:
可以这样想:如果您每季度运行一个流程并根据该季度的数据生成一份报告,您会将该报告命名为您创建文件时所在的季度,还是报告中数据来自该季度的报告? ? 就是这样
execution_date
。
尝试将您的时间更改start_date
为小于一个完整的计划间隔。它应该在 03/06 运行,但它execution_date
会说02/28
推荐阅读
- arrays - 如何在 ruby 中获取特定的数组索引?
- python - Jupyter Notebook:'head' 未被识别为内部或外部命令、可运行程序或批处理文件
- python - 在 Python 中的函数定义下方放置一个字符串
- java - 按每个字符类的自定义规则对字符串数组进行排序
- javascript - 协议依赖停止正在运行的测试
- python - 运行 hyperopt fmin 函数时出错(TypeError: cannot convert dictionary update sequence element #0 to a sequence)
- javascript - 如何在 React 中修复 Typescript 类型检查错误
- .net - 加密另一个目录中每个文件夹中的每个文件
- javascript - 任何人都知道在 laravel 中使用 post 方法进行分页吗?
- ios - AsWebAuthenticationsession 是否支持通用链接?