airflow.triggers.temporal

模块内容

DateTimeTrigger

基于日期时间的触发器。

TimeDeltaTrigger

基于延迟创建 DateTimeTriggers。

class airflow.triggers.temporal.DateTimeTrigger(moment, *, end_from_trigger=False)[源代码]

基类: airflow.triggers.base.BaseTrigger

基于日期时间的触发器。

一个触发器,在给定日期时间精确触发一次,允许几秒钟的误差。

提供的日期时间必须是 UTC 时间。

参数
  • moment (datetime.datetime) – 何时产生事件

  • end_from_trigger (bool) – 触发器在达到时间条件后是否应将任务标记为成功,或者在达到时间条件后恢复任务。

serialize()[源代码]

返回重建此触发器所需的信息。

返回

(类路径,重新实例化所需的关键字参数)的元组。

返回类型

tuple[str, dict[str, Any]]

async run()[源代码]

循环直到达到相关时间。

我们确实有一个两阶段的延迟来节省一些周期,但睡眠非常廉价,所以它相当宽松。我们也不会直接睡眠“直到时间到的秒数”,以防系统时钟意外更改或处理夏令时变更不当。

class airflow.triggers.temporal.TimeDeltaTrigger(delta, *, end_from_trigger=False)[源代码]

基类: DateTimeTrigger

基于延迟创建 DateTimeTriggers。

子类,用于根据时间延迟而不是确切时刻创建 DateTimeTriggers。

虽然它在这里是自己独立的类,但它将序列化为 DateTimeTrigger 类,因为它们在操作上是相同的。

参数
  • delta (datetime.timedelta) – 要等待的时间长度

  • end_from_trigger (bool) – 触发器在达到时间条件后是否应将任务标记为成功,或者在达到时间条件后恢复任务。

此条目是否有帮助?