airflow.providers.standard.triggers.temporal

DateTimeTrigger

基于日期时间的 Trigger。

TimeDeltaTrigger

基于延迟创建 DateTimeTrigger。

模块内容

class airflow.providers.standard.triggers.temporal.DateTimeTrigger(moment, *, end_from_trigger=False)[source]

基类:airflow.triggers.base.BaseTrigger

基于日期时间的 Trigger。

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

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

参数:
  • moment (datetime.datetime) – 触发事件的时间

  • end_from_trigger (bool) – 是否在时间条件满足后将任务标记为成功,或在时间条件满足后恢复任务。

moment: pendulum.DateTime = None[source]
end_from_trigger =False[source]
serialize()[source]

返回重建此 Trigger 所需的信息。

返回值:

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

返回类型:

tuple[str, dict[str, Any]]

async run()[source]

循环直到达到相关时间。

我们采用两阶段延迟来节省一些周期,但无论如何休眠的开销非常低,所以要求并不严格。我们也不会简单地休眠“直到该时间点所需的秒数”,以防系统时钟意外变化或处理夏令时 (DST) 变化不当。

class airflow.providers.standard.triggers.temporal.TimeDeltaTrigger(delta, *, end_from_trigger=False)[source]

基类:DateTimeTrigger

基于延迟创建 DateTimeTrigger。

基于时间延迟而非精确时间点创建 DateTimeTrigger 的子类。

虽然此处它是一个独立的类,但它会被序列化为 DateTimeTrigger 类,因为它们在操作上是相同的。

参数:
  • delta (datetime.timedelta) – 等待时长

  • end_from_trigger (bool) – 是否在时间条件满足后将任务标记为成功,或在时间条件满足后恢复任务。

本条目有用吗?