gpt4 book ai didi

airflow - Airflow 传感器中的模式 "reschedule"如何工作?

转载 作者:行者123 更新时间:2023-12-04 12:15:50 27 4
gpt4 key购买 nike

我有一个 Airflow Http 传感器,它调用 REST 端点并检查 API 返回的 JSON 结构中的特定值

sensor = HttpSensor(
soft_fail=True,
task_id='http_sensor_check',
http_conn_id='http_default',
endpoint='http://localhost:8082/api/v1/resources/games/all',
request_params={},
response_check=lambda response: True if check_api_response(response) is True else False,
mode='reschedule',
dag=dag)
如果 response_check 为假,则 DAG 将处于“up_for_reschedule”状态。问题是,DAG 永远保持在那个状态,永远不会被重新安排。
我的问题是:
  • “up_for_reschedule”是什么意思? DAG 何时会重新安排?
  • 假设我的 DAG 计划每 5 分钟运行一次,但由于传感器的原因,“up_for_reschedule”DAG 实例与新运行重叠,我是否会同时运行 2 个 DAGS?

  • 先感谢您。

    最佳答案

    在传感器 mode='rescheduler'意味着如果传感器的标准不为真,则传感器会将 worker 释放到其他任务中。这对于传感器可能等待很长时间的情况非常有用。

  • up_for_reschedule意味着任务失败但重试次数尚未达到,因此任务正在等待调度程序重新安排。
  • 您不知道任务何时运行。这取决于调度程序(可用资源、优先级等)。如果您不想允许并行 dag 运行,请使用 max_active_runs=1在 DAG 构造函数中。
  • 关于airflow - Airflow 传感器中的模式 "reschedule"如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66715894/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com