如果我的 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 执行。
它们仍然可能显示为不健康,但不会导致部署失败。
我的.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 执行。
它们仍然可能显示为不健康,但不会导致部署失败。