gpt4 book ai didi

python - 如何在 Elastic Beanstalk 上启动时运行一次 python 脚本

转载 作者:太空宇宙 更新时间:2023-11-03 16:00:20 25 4
gpt4 key购买 nike

我想在 EB 实例上“无限期”运行 python 脚本,部署后自动运行(我不想通过 SSH 登录)。为此,我想我应该运行

source /opt/python/run/venv/bin/activate && nohup python myscriptname.py &

部署 Elastic Beanstalk 实例之后。但是我应该在哪里放置上述命令来自动运行此部署后操作?

我看过How do I install a Python script on Amazon's Elastic Beanstalk?但我认为 cron 工作不适合我。

我之前使用过 container_commands,但它们似乎运行预部署。

Container commands run after the application and web server have been set up and the application version archive has been extracted, but before the application version is deployed.

如何运行部署后脚本?

最佳答案

与往常一样,在 AWS 中可以通过多种方法来执行此操作。您可以启动一个实例,进行自定义,然后从此镜像创建 AMI。然后你可以告诉 beanstalk 使用这个 custom AMI

或者可以使用ebextensions在创建和应用程序重新启动时自定义您的实例。我目前正在使用它来安装(如果尚未安装)logstash 并在我的应用程序启动时下载最新的 GeoLiteCity 数据库。

这是文档中的示例

container_commands:
collectstatic:
command: "django-admin.py collectstatic --noinput"
01syncdb:
command: "django-admin.py syncdb --noinput"
leader_only: true
02migrate:
command: "django-admin.py migrate"
leader_only: true
99customize:
command: "scripts/customize.sh"

关于python - 如何在 Elastic Beanstalk 上启动时运行一次 python 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40372506/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com