首页 > 解决方案 > 气流 504 网关超时

问题描述

很多时候,当我尝试在 UI 中打开某些 DAG 的树视图或任务持续时间页面时,我收到错误:504 网关超时。有时在那之后我什至无法打开包含 DAG 列表的页面。你知道这个问题可能来自哪里吗?

运行 Airflow 的机器的 CPU 和内存似乎很好,我使用 RDS 作为元数据。

谢谢!

标签: airflow

解决方案


我以前也经历过这种情况。我相信它是由一个 HTTP 请求引起的,该请求比网络服务器的 gunicorn worker 需要更长的时间来完成。例如,如果您将 DAG 树视图设置为较高的设置,例如针对具有大量任务的 DAG 运行 365 DAG,您可能能够一致地重现此情况。

您可以尝试提高网络服务器上的超时设置,看看是否有影响吗?

  • 首先,尝试web_server_worker_timeout在组下增加(默认 = 120 秒)[webserver]
  • 如果这不能解决它,您也可以尝试web_server_master_timeout在同一组下增加。
  • 另一种尝试的技术是将网络服务器worker_class(默认 = sync)切换到eventletor gevent

参考:https ://github.com/apache/incubator-airflow/blob/c27098b8d31fee7177f37108a6c2fb7c7ad37170/airflow/config_templates/default_airflow.cfg#L225-L229

请注意,替代工作人员类需要安装 Airflow 以及以下async附加功能:

pip install apache-airflow[async]

您可以在此问题中找到有关 gunicorn worker 超时的更多信息:How to resolve the gunicorn critical worker timeout error?.


推荐阅读