Chr*_*ian 3 airflow apache-airflow airflow-scheduler
我们一直在将cron作业转换为Airflow DAG,而在弄清楚DAG的计划在Airflow中的工作方式方面我遇到了困难。一些DAG需要在一天的特定时间(例如,上午7点)运行,其他DAG需要在每月的特定日期/时间(例如,每月15号上午6点)运行。
通常,Airflow似乎每天都在正确运行DAG。因此,schedule_interval = '0 7 * * *与'start_date': datetime(2017,4,7)运行在每天早上7点。
但是,对于每月DAG(schedule_interval = '0 6 15 * *'和'start_date': datetime(2017,4,7)),它于4月15日上午6点运行,但此后一直没有运行过。我尝试每月计划的其他DAG同样在第一个月后无法运行。
Airflow关于调度的文档非常混乱,而其他SO问题的答案让我更加困惑。我希望有人可以根据我的理解和我每月尝试安排的DAG来弄清问题所在。
Airflow的每月运行计划与每日计划保持一致,但令人困惑。因此,每月DAG的运行时间比预期的要晚一个月。例如,如果我将DAG安排在每月的第一天午夜运行(例如0 0 1 * *),则执行期为执行日期2018-04-01的运行实际上将在午夜2018-05-01之后运行。这是因为Airflow在运行之前会等待执行周期完成。我认为想法是2018-04-01的每月执行量代表2018-04-01至2018-05-01整个期间的数据。
您需要牢记这一概念来重新组织时间表。
| 归档时间: |
|
| 查看次数: |
1749 次 |
| 最近记录: |