【问题标题】:Scheduling Weekly Django Commands for AWS ECS Docker Deployment为 AWS ECS Docker 部署安排每周 Django 命令
【发布时间】:2020-11-30 11:46:20
【问题描述】:

我在 Docker 容器中有一个 Django 项目,该项目正在部署到 AWS Elastic Container Service。我希望每周执行一个 Django 命令,但我不确定执行此操作的最佳做​​法是什么。

这是我可以/应该设置为 Docker/Django 项目本身的一部分吗?

使用 AWS Lambda 或 Batch 之类的东西来安排这个会更好吗?如果是这样,我如何在我的 Django 部署中访问这个脚本?

【问题讨论】:

    标签: django amazon-web-services docker aws-lambda amazon-ecs


    【解决方案1】:

    我认为你可以使用几个粗略的笔画想法:

    1. 完全在您的 ECS 之外的东西(就像您已经建议的那样)
    2. ECS 中的一些东西,使用 k8s(一个 k8s CronJob)
    3. 你的 django 项目中的一些东西 (django-crontab)
    4. 成熟的任务调度和执行框架 (django-celery)

    1 天空是极限!

    这就是你!有很多选择

    2 Kubernetes CronJob

    我以前使用过这些,它们非常强大和可靠:https://kubernetes.io/docs/concepts/workloads/controllers/cron-jobs/

    3 Django crontab

    这非常简单明了。如果我每周只需要做一件事,并且我知道它不会增长,或者只有很少运行的工作,那么这将是我的选择。 https://pypi.org/project/django-crontab/

    4 Celery CronJob

    这一项工作量很大,但如果您最终有很多后台任务,那么设置它是非常值得的,因为它非常易于检查,并且您可以从 django 管理员手动触发作业。

    https://docs.celeryproject.org/en/stable/django/first-steps-with-django.html

    【讨论】:

    • 使用 Django Crontab。它在本地工作,但不适用于 ECS。没有错误。没有。不知道怎么弄出来
    猜你喜欢
    • 2017-12-30
    • 1970-01-01
    • 2016-05-29
    • 2017-09-30
    • 2020-07-29
    • 2018-04-13
    • 2020-11-22
    • 2019-09-10
    • 2023-03-15
    相关资源
    最近更新 更多