airflow.timetables.events
¶
模块内容¶
类¶
在特定列出的日期时间调度 DAG 运行的时间表。 |
- class airflow.timetables.events.EventsTimetable(event_dates, restrict_to_events=False, presorted=False, description=None)[源代码]¶
基类:
airflow.timetables.base.Timetable
在特定列出的日期时间调度 DAG 运行的时间表。
适用于可预测但真正不规则的调度,例如体育赛事。
- 参数
event_dates (Iterable[pendulum.DateTime]) – DAG 运行的日期时间列表。重复项将被忽略。必须是有限的且大小合理,因为它将被完整加载。
restrict_to_events (bool) – 手动运行应使用最近的事件还是当前时间
presorted (bool) – 如果为 True,则假设 event_dates 按升序排列。为较大的 event_dates 列表提供适度的性能改进。
description (str | None) – 要在 UI 中显示的时间表名称。默认值 None 将显示为“X 个事件”,其中 X 是 event_dates 的长度
- next_dagrun_info(*, last_automated_data_interval, restriction)[源代码]¶
提供信息以调度下一个 DagRun。
默认实现会引发
NotImplementedError
。- 参数
last_automated_data_interval (airflow.timetables.base.DataInterval | None) – 与 DAG 上次调度或回填运行(不考虑手动运行)相关联的数据间隔。
restriction (airflow.timetables.base.TimeRestriction) – 调度 DAG 运行期间要应用的限制。有关详细信息,请参阅
TimeRestriction
的文档。
- 返回
有关何时可以调度下一个 DagRun 的信息。None 表示不会发生 DagRun。这并不意味着此 DAG 即使再次也不会再安排运行;时间表可以在其他时间请求时返回 DagRunInfo 对象。
- 返回类型
- infer_manual_data_interval(*, run_after)[源代码]¶
当手动触发 DAG 运行时,为其推断数据间隔。
这用于例如手动触发的运行,其中
run_after
将是用户触发运行的时间。默认实现会引发NotImplementedError
。