airflow.timetables.trigger

模块内容

CronTriggerTimetable

根据 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

参数
返回

有关何时可以调度下一个 DagRun 的信息。 None 表示不会发生 DagRun。 这并不意味着此 DAG 甚至不会再次计划更多运行;时间表可以在另一次询问时返回 DagRunInfo 对象。

返回类型

airflow.timetables.base.DagRunInfo | None

此条目是否有帮助?