【问题标题】:Polling multiple SQS messages using Airflow SQSSensor使用 Airflow SQSSensor 轮询多个 SQS 消息
【发布时间】:2022-07-27 16:23:41
【问题描述】:

我正在使用此 SQSSensoe 设置来轮询消息

    fetch_sqs_message = SQSSensor(
        task_id="...",
        sqs_queue="...",
        aws_conn_id="aws_default",
        max_messages=10,
        wait_time_seconds=30,
        poke_interval=60,
        timeout=300,
        dag=dag
    )

我假设每次轮询时它应该轮询多达 10 条消息。当我测试这个时,我的队列大约有 5 个。 但是每次我触发 dag 时,它一次只轮询 1 条消息,这是我从 SQS 消息计数中发现的。 为什么要这样做?我怎样才能让它轮询尽可能多的消息?

【问题讨论】:

  • wait_time_in_seconds 的有效值应介于 0-20 秒之间。此外,您可以阅读 this answer 了解 SQS 中轮询的工作时间

标签: airflow amazon-sqs airflow-2.x mwaa


【解决方案1】:

最近,SQSSensor 添加了一项新功能,以便传感器可以多次轮询 SQS 而不是一次。

您可以查看this merged PR

例如,如果num_batches 设置为 3,SQSSensor 将在返回结果之前轮询队列 3 次。

免责声明:我为此功能做出了贡献。

【讨论】:

    猜你喜欢
    • 2014-02-01
    • 1970-01-01
    • 2021-10-04
    • 1970-01-01
    • 2016-10-01
    • 2014-12-08
    • 2020-09-01
    • 2019-01-30
    • 1970-01-01
    相关资源
    最近更新 更多