gpt4 book ai didi

django - Django 和 Celery 的解耦和 Docker 化

转载 作者:行者123 更新时间:2023-12-02 00:31:22 25 4
gpt4 key购买 nike

我想知道将 Celery 与 Django 分离的最佳方法是什么,以便将这两个部分进行 docker 化并使用 docker swarm service ?通常,人们使用引用 Django 应用程序的命令来启动 celery 工作程序和 celery 节拍:

celery worker -A my_app
celery beat -A my_app

据此,我相信 celery 从设置文件和 celery.py 文件中获取配置信息,该文件很容易移动到微服务。我不完全理解的是任务将如何利用 Django ORM?或者这并不是微服务的真谛,Celery 应该被设计为对 Django REST Framework API 进行 GET/POST 调用以获取完成任务所需的数据?

最佳答案

我使用的设置中,django 应用程序及其 celery 工作程序的代码是相同的(与在单个存储库中一样)。

部署时,我确保到处都有相同的代码版本,以避免 ORM 等出现任何意外...

Celery 从对 django 应用程序的引用开始,以便它可以访问模型等...

工作人员和主应用程序之间的通信通过消息队列(rabbitmqredis...)或通过数据库(如 celery 工作人员)进行直接在数据库中工作,因为它知道模型等...)。

我不确定这是否遵循微服务准则,但它确实有效:)

关于django - Django 和 Celery 的解耦和 Docker 化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41701401/

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