如果我的 post 部署需要很长时间,如何防止我的 Elastic Beanstalk 应用程序显示为不健康?

How do I prevent my Elastic Beanstalk app from showing as unhealthy if my post deploy takes a long time?

我的.ebextensions/00.command.config,我有:

container_commands:
  00_download_models:
    command: "./download.py"

download.py 中,我有一些代码可以下载很多文件(大约 20GB)。这需要时间,我希望在 Elastic Beanstalk 尝试启动我的应用程序之前完成。但是在 /var/log/web.stdout.log 中,我看到:

Jun 27 19:42:46 ip-172-31-46-211 web: [2020-06-27 19:42:46 +0000] [3997] [INFO] Worker exiting (pid: 3997)
Jun 27 19:42:46 ip-172-31-46-211 web: Loading generator
Jun 27 19:42:46 ip-172-31-46-211 web: using device: cpu

Loading generator 是我在 application.py 中打印的内容。如果重要的话,这是一个 flask 应用程序。下载时似乎多次尝试重启应用程序。

我该怎么做才能先完成 download.py,然后尝试启动应用程序?

在 EB 中,您可以在部署期间禁用运行状况检查。例如,在控制台中,您可以按照屏幕截图所示执行此操作:

显然,如果您将其用于部署,也可以通过 CLI 执行。

它们仍然可能显示为不健康,但不会导致部署失败。