airflow.timetables.interval

模块内容

CronDataIntervalTimetable

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

DeltaDataIntervalTimetable

使用时间增量调度数据间隔的时间表。

属性

Delta

airflow.timetables.interval.Delta[源代码]
class airflow.timetables.interval.CronDataIntervalTimetable(cron, timezone)[源代码]

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

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

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

该实现扩展了 croniter 以添加时区感知。这是因为 croniter 仅使用朴素的时间戳,并且在确定下一个/上一个时间时不能考虑 DST。

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

classmethod deserialize(data)[源代码]

从数据反序列化时间表。

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

serialize()[源代码]

序列化时间表以进行 JSON 编码。

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

infer_manual_data_interval(*, run_after)[源代码]

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

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

class airflow.timetables.interval.DeltaDataIntervalTimetable(delta)[源代码]

基类:_DataIntervalTimetable

使用时间增量调度数据间隔的时间表。

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

property summary: str[源代码]

时间表的简短摘要。

这用于在 Web UI 中显示时间表。例如,cron 表达式时间表可以使用它来显示表达式。默认实现返回时间表的类型名称。

classmethod deserialize(data)[源代码]

从数据反序列化时间表。

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

__eq__(other)[源代码]

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

这仅用于测试目的,不应依赖其他方面。

serialize()[源代码]

序列化时间表以进行 JSON 编码。

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

validate()[源代码]

验证时间表是否正确指定。

重写此方法,以提供当 DAG 被放入 dagbag 时引发的运行时验证。默认实现不做任何事情。

引发

验证失败时引发 AirflowTimetableInvalid。

infer_manual_data_interval(run_after)[源代码]

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

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

此条目是否有帮助?