【问题标题】:Elastic Beanstalk silently fails for long processesElastic Beanstalk 在长时间进程中静默失败
【发布时间】:2021-09-25 13:22:45
【问题描述】:

我在使用 Elastic Beanstalk 部署的 Docker 容器中有一个 Plotly Dash 应用程序。一切看起来和运行都很好,除非我运行一个需要很长时间才能完成的进程。较长的进程将运行,但是当应该填充图表时,它根本不会返回任何图表。我可以在日志中看到操作正在运行,但除非进程更短(大约 45 秒),否则不会填充图表。

我正在使用 Amazon Linux 2 Docker + 经典负载均衡器 + nginx。

Dockerfile:

FROM python:3.9

ENV DASH_DEBUG_MODE False
COPY . /app
WORKDIR /app
RUN set -ex && \
    pip install -r requirements.txt
EXPOSE 8050
CMD gunicorn -w 4 --timeout 500 -b 0.0.0.0:8050 application:server

我也试过CMD ["python", "application.py"]

我尝试使用 .ebextensions 和 .platform 来修改 options.config 和 nginx.conf,但都没有成功。

【问题讨论】:

    标签: amazon-web-services docker amazon-elastic-beanstalk plotly-dash


    【解决方案1】:

    Elastic Beanstalk 还使用 gunicorn 覆盖 Dockerfile 中的 gunicorn。

    您必须在应用程序目录的根目录中添加一个 Procfile。

    web: gunicorn --bind :8000 --workers 3 --threads 2 --timeout 500 project.wsgi:application
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-03
      • 2018-03-26
      • 2018-05-09
      • 2021-08-15
      • 2021-05-05
      • 2014-10-27
      • 2015-12-15
      • 2014-11-15
      相关资源
      最近更新 更多