安排每周Django命令以进行AWS ECS Docker部署

问题描述

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

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

我会更好地使用AWS Lambda或Batch之类的东西来计划此时间吗?如果是这样,我如何在Django部署中访问此脚本?

解决方法

我认为您可以使用几种广泛的技巧:

  1. 完全不在您的ECS中的东西(就像您已经建议的那样)
  2. 使用k8s(k8s CronJob)在ECS中进行操作
  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芹菜CronJob

这是一项繁重的工作,但是如果您要完成许多后台任务,则可以进行设置,因为它非常易于检查,并且可以从django管理员手动触发作业。

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

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...