Airflow Summit 2025 即将于 10 月 07-09 日举行。立即注册以获取早鸟票!

airflow.timetables.interval

属性

Delta

CronDataIntervalTimetable

使用 cron 表达式调度数据间隔的时间表。

DeltaDataIntervalTimetable

使用时间差(time delta)调度数据间隔的时间表。

模块内容

airflow.timetables.interval.Delta[source]
class airflow.timetables.interval.CronDataIntervalTimetable(cron, timezone)[source]

基类:airflow.timetables._cron.CronMixin, _DataIntervalTimetable

使用 cron 表达式调度数据间隔的时间表。

这对应于 schedule=<cron>,其中 <cron> 是一个五段式或六段式表示,或是 cron_presets 中的一个。

此实现扩展了 croniter 以增加时区感知能力。这是因为 croniter 仅适用于朴素时间戳,无法在确定下一或上一时间时考虑夏令时(DST)。

不要在此处传递 @once;请改用 OnceTimetable

classmethod deserialize(data)[source]

从数据反序列化时间表。

在反序列化序列化后的 DAG 时调用此方法。data 将是 DAG 序列化期间由 serialize 返回的任何内容。默认实现构造时间表时不带任何参数。

serialize()[source]

为 JSON 编码序列化时间表。

在 DAG 序列化期间调用此方法,将时间表信息存储在数据库中。此方法应返回一个 JSON 可序列化的字典,该字典将在反序列化 DAG 时馈送到 deserialize 中。默认实现返回一个空字典。

infer_manual_data_interval(*, run_after)[source]

当手动触发 DAG 运行时,为此推断数据间隔。

这用于例如手动触发的运行,其中 run_after 是用户触发运行的时间。默认实现会引发 NotImplementedError

class airflow.timetables.interval.DeltaDataIntervalTimetable(delta)[source]

基类:airflow.timetables._delta.DeltaMixin, _DataIntervalTimetable

使用时间差(time delta)调度数据间隔的时间表。

这对应于 schedule=<delta>,其中 <delta>datetime.timedeltadateutil.relativedelta.relativedelta 实例。

classmethod deserialize(data)[source]

从数据反序列化时间表。

在反序列化序列化后的 DAG 时调用此方法。data 将是 DAG 序列化期间由 serialize 返回的任何内容。默认实现构造时间表时不带任何参数。

__eq__(other)[source]

如果偏移量匹配,则返回 True。

这仅用于测试目的,在其他情况下不应依赖。

serialize()[source]

为 JSON 编码序列化时间表。

在 DAG 序列化期间调用此方法,将时间表信息存储在数据库中。此方法应返回一个 JSON 可序列化的字典,该字典将在反序列化 DAG 时馈送到 deserialize 中。默认实现返回一个空字典。

infer_manual_data_interval(run_after)[source]

当手动触发 DAG 运行时,为此推断数据间隔。

这用于例如手动触发的运行,其中 run_after 是用户触发运行的时间。默认实现会引发 NotImplementedError

此条目是否有帮助?