gpt4 book ai didi

django - 如何设置 cronjob 以在 AWS elastic beanstalk 中运行 Django 管理命令

转载 作者:行者123 更新时间:2023-12-01 04:52:56 25 4
gpt4 key购买 nike

我有一个在 AWS Elastic beanstalk 中运行的 Django 应用程序。我需要运行一个 cron 作业,它每 10 分钟运行一次 Django 管理命令(python manage.py 测试)。为此,我创建了一个 .ebextensions/cron.config 文件。

.ebextensions/cron.config
container_commands:
01_some_cron_job:
command: "cat .ebextensions/cron_test.txt > /etc/cron.d/cron_test && chmod 644 /etc/cron.d/some_cron_job"

.ebextensions/cron_test.txt

*/10 * * * * /opt/python/run/venv/bin/python34 /opt/python/current/app/manage.py  test

这是在 AWS elastic beanstalk 中将 Django 管理命令作为 cron 作业运行的正确方法吗?运行命令前需要激活虚拟环境吗?

最佳答案

是的,您需要在 Elastic Beanstalk 设置的虚拟环境的上下文中运行您的命令,但是不,您不需要在运行命令之前激活所述环境。至少我是这样理解的。示例文件:.ebextensions/cron.config

files:
"/etc/cron.d/mycron":
mode: "000644"
owner: root
group: root
content: |
MAILTO=example@example.com

*/10 * * * * root source /opt/python/current/env && python3 /opt/python/current/app/manage.py test

不能保证这会奏效 - 我现在正在自己测试,所以可能会出现问题,但我的一位同事在他们的网站上使用了这种通用方法。

关于 Elastic Beanstalk cronjobs 的文档,而不是关于虚拟环境的文档,位于此处:https://aws.amazon.com/premiumsupport/knowledge-center/cron-job-elastic-beanstalk/

关于django - 如何设置 cronjob 以在 AWS elastic beanstalk 中运行 Django 管理命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39831832/

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