airflow.providers.common.messaging.triggers.msg_queue

MessageQueueTrigger

MessageQueueTrigger 用作监控来自不同 provider 的消息队列的统一 trigger。

模块内容

class airflow.providers.common.messaging.triggers.msg_queue.MessageQueueTrigger(*, queue, **kwargs)[source]

基类: airflow.triggers.base.BaseEventTrigger

MessageQueueTrigger 用作监控来自不同 provider 的消息队列的统一 trigger。

它抽象了特定于 provider 的细节,允许用户使用单个 trigger 监控队列,而无需关注底层 provider。

这使得切换 provider 变得容易,而无需修改 trigger。

参数:

queue (str) – 队列标识符

另请参阅

有关如何使用此 trigger 的更多信息,请参阅指南:等待队列中的消息

queue[source]
kwargs[source]
property trigger: airflow.triggers.base.BaseEventTrigger[source]
serialize()[source]

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

返回:

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

返回类型:

tuple[str, dict[str, Any]]

async run()[source]

在异步上下文中运行 trigger。

当 trigger 想要触发事件时,它应该 yield 一个 Event,如果完成则返回 None。因此,单事件 trigger 应该先 yield 然后立即返回。

如果它 yield,它很可能会很快恢复,但也可能不会(例如,如果工作负载正在转移到另一个 triggerer 进程,或者多事件 trigger 用于单事件任务延迟)。

在这两种情况下,Trigger 类都应该假设它们将被持久化,并在不再需要时依赖调用 cleanup()。

此条目有帮助吗?