airflow.timetables.trigger
¶
模块内容¶
类¶
根据 cron 表达式触发 DAG 运行的时间表。 |
- class airflow.timetables.trigger.CronTriggerTimetable(cron, *, timezone, interval=datetime.timedelta())[源代码]¶
基类:
airflow.timetables._cron.CronMixin
,airflow.timetables.base.Timetable
根据 cron 表达式触发 DAG 运行的时间表。
这与
CronDataIntervalTimetable
不同,后者中 cron 表达式指定 DAG 运行的数据间隔。使用此时间表,数据间隔与 cron 表达式独立指定。同样出于相同原因,此时间表会在周期的开始立即启动 DAG 运行(类似于 POSIX cron),而不是需要等待一个数据间隔过去。不要在此处传递
@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
。
- 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 对象。
- 返回类型