airflow.providers.standard.triggers.temporal

模块内容

DateTimeTrigger

基于日期时间的触发器。

TimeDeltaTrigger

基于延迟创建 DateTimeTriggers。

class airflow.providers.standard.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()[源代码]

循环直到达到相关时间。

我们有一个两阶段的延迟来节省一些周期,但无论如何睡眠都非常廉价,所以它相当宽松。我们也不仅仅睡眠“直到时间的秒数”,以防系统时钟意外更改或处理 DST 更改不佳。

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

基类: DateTimeTrigger

基于延迟创建 DateTimeTriggers。

子类,用于基于时间延迟而不是精确时刻创建 DateTimeTriggers。

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

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

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

此条目是否有帮助?