【问题标题】:What happens during AWS Elastic Beanstalk 504 Gateway TimeoutAWS Elastic Beanstalk 504 网关超时期间会发生什么
【发布时间】:2019-06-29 08:31:45
【问题描述】:

我有一个在 Elastic Beanstalk 中运行的 Django 服务器,我不确定该进程是继续在服务器中运行还是进程被终止。有人对此有任何见解吗?在断开连接的情况下,没有应用程序逻辑来停止请求。 Elastic Beanstalk 会随着客户端连接一起终止进程,还是不管超时如何,进程都会继续运行?

【问题讨论】:

  • 看起来您的应用正在与外部服务器或数据库通信并且超时。
  • 我最近经历过这种情况。 Elastic Beanstalk 默认使用应用程序负载均衡器。因此,一旦端点被命中,django 将在浏览器超时时继续该过程。

标签: python django amazon-web-services amazon-elastic-beanstalk


【解决方案1】:

504 Gateway Timeout 表示客户端尝试访问服务器在一定时间内没有得到响应。根据AWS documentation

说明:表示负载均衡器关闭了连接,因为请求未在空闲超时期限内完成。

这意味着,当您尝试访问 Django 应用程序时,您在浏览器(或其他客户端)中收到的 504 响应是由关闭连接后实际服务器前面的 Elastic Load Balancer 生成的。由于您的 ELB 是一个外部网络工具,并且无法实际控制您的服务器,因此它无法控制您的代码以及哪些进程正在运行。这意味着,该进程将继续运行,直到它必须返回一个 HTTP 响应并且由于连接关闭而失败。

【讨论】:

    猜你喜欢
    • 2018-08-14
    • 1970-01-01
    • 2021-06-30
    • 2013-12-03
    • 2014-04-25
    • 1970-01-01
    • 2021-02-16
    • 2020-12-23
    • 2020-10-27
    相关资源
    最近更新 更多