当前位置: 首页 > 知识库问答 >
问题:

芹菜:使用Redis作为result_backend和RabbitMQ作为消息代理

包承望
2023-03-14

我是芹菜、Redis和RabbitMQ的新手。

目前,我正在使用RabbitMQ作为消息代理,并且在配置中没有设置任何内容。(使用Django、MySQL)

我想知道是否有可能使用Redis作为后端的结果存储,同时将RabbitMQ用作消息代理。

我知道的只是添加一些设置,CELERY_RESULT_BACKEND=“redis”

共有1个答案

崔涵亮
2023-03-14

是的,这是可能的。只需设置:

CELERY_RESULT_BACKEND = "redis://:<password>@<hostname>:<port>/<db_number>"

替换<代码>

 类似资料:
  • 由于芹菜是作业队列/任务队列,因此名称说明了它可以维护其任务并处理它们。那么为什么它需要像rabbymq或redis这样的消息代理呢?

  • 问题内容: 我们正在定义一种架构,以通过安装在各种计算机上的Logstash托运人收集日志信息,并在一个Elasticsearch服务器中集中索引数据,并使用Kibana作为图形层。我们需要在Logstash托运人和elasticsearch之间建立可靠的消息传递系统,以准许交货。在Logstash托运人与elasticsearch之间选择Redis over RabbitMQ作为数据代理/消息传

  • 问题内容: 我正在尝试将类的方法用作django-celery任务,并使用@task装饰器对其进行标记。阿南德·杰亚哈(Anand Jeyahar)询问,这里也描述了同样的情况。是这样的 问题是,即使我使用这样的类实例,也需要至少两个参数,这意味着指针未命中。 更多信息: 由于继承,我无法将类转换为 模块 方法在很大程度上依赖于类成员,所以我不能使它们成为 静态的 标记 类 与@task装饰任务,

  • 我所拥有的: 我用rabbitMQ作为代理运行芹菜,用redis作为结果后端。我有一个发送任务和处理任务的工人的应用程序。 我按如下方式进行了部署: 应用程序、redis、RabbitMQ和一个工作人员(让我们称他为“local_worker”)正在使用docker-compose在azure VM上运行,因此我使用docker版本的RabbitMQ和redis(6.2.5)。RabbitMQ和r

  • 我的粗略理解是,如果您需要内存中的键值存储特性,Redis会更好,但是我不确定这与分布任务有什么关系? 这是否意味着如果我们已经将Redis用于其他用途,那么我们应该将其用作消息代理?

  • 是否可以在Celery中使用不同的消息代理? 例如:我想使用PostgreSQL而不是RabbitMQ。