airflow.providers.amazon.aws.triggers.ecs

模块内容

ClusterActiveTrigger

轮询集群的状态,直到它处于活动状态。

ClusterInactiveTrigger

轮询集群的状态,直到它处于非活动状态。

TaskDoneTrigger

等待 ECS 任务完成,同时最终轮询日志。

class airflow.providers.amazon.aws.triggers.ecs.ClusterActiveTrigger(cluster_arn, waiter_delay, waiter_max_attempts, aws_conn_id, region_name=None, **kwargs)[源代码]

基类: airflow.providers.amazon.aws.triggers.base.AwsBaseWaiterTrigger

轮询集群的状态,直到它处于活动状态。

参数
  • cluster_arn (str) – 要监视的集群的 ARN。

  • waiter_delay (int) – 每次尝试之间等待的秒数。

  • waiter_max_attempts (int) – 用于 ping 状态的次数。在多次尝试失败后将失败。

  • aws_conn_id (str | None) – 用于 AWS 凭证的 Airflow 连接。

  • region_name (str | None) – 集群所在的 AWS 区域。

hook()[源代码]

在子类中重写以返回正确的 hook。

class airflow.providers.amazon.aws.triggers.ecs.ClusterInactiveTrigger(cluster_arn, waiter_delay, waiter_max_attempts, aws_conn_id, region_name=None, **kwargs)[源代码]

基类: airflow.providers.amazon.aws.triggers.base.AwsBaseWaiterTrigger

轮询集群的状态,直到它处于非活动状态。

参数
  • cluster_arn (str) – 要监视的集群的 ARN。

  • waiter_delay (int) – 每次尝试之间等待的秒数。

  • waiter_max_attempts (int) – 用于 ping 状态的次数。在多次尝试失败后将失败。

  • aws_conn_id (str | None) – 用于 AWS 凭证的 Airflow 连接。

  • region_name (str | None) – 集群所在的 AWS 区域。

hook()[源代码]

在子类中重写以返回正确的 hook。

class airflow.providers.amazon.aws.triggers.ecs.TaskDoneTrigger(cluster, task_arn, waiter_delay, waiter_max_attempts, aws_conn_id, region, log_group=None, log_stream=None)[源代码]

基类: airflow.triggers.base.BaseTrigger

等待 ECS 任务完成,同时最终轮询日志。

参数
  • cluster (str) – 任务正在运行的集群的短名称或完整 ARN。

  • task_arn (str) – 要监视的任务的 ARN。

  • waiter_delay (int) – 每次尝试之间等待的秒数。

  • waiter_max_attempts (int) – 用于 ping 状态的次数。在多次尝试失败后将失败。

  • aws_conn_id (str | None) – 用于 AWS 凭证的 Airflow 连接。

  • region (str | None) – 集群所在的 AWS 区域。

serialize()[源代码]

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

返回

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

返回类型

tuple[str, dict[str, Any]]

async run()[源代码]

在异步上下文中运行 trigger。

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

如果它产生,它很可能会很快恢复,但它可能不会(例如,如果工作负载被移动到另一个触发器进程,或者多事件触发器被用于单事件任务延迟)。

在任何一种情况下,Trigger 类都应假设它们将被持久化,然后依赖于在不再需要它们时调用 cleanup()。

此条目是否有帮助?