对于Celery结果使用amqp后端和数据库后端之间的区别是什么?

时间:2012-04-20 01:52:28

标签: python django rabbitmq celery

我不明白两种情况下实际结果的存储位置 我在测试应用程序中使用 django-celery sqlite 作为我的数据库。我使用 RabbitMQ 作为我的经纪人。

我尝试使用CELERY_RESULT_BACKEND = "amqp"

设置CELERY_RESULT_DBURI="mysqlitedb"和“数据库”

但无论如何,我都不明白在存储结果后如何与结果互动。

我认为一旦工作人员在任务结束时返回,我就无法理解结果会发生什么的基本概念。

1 个答案:

答案 0 :(得分:2)

当您向芹菜发送任务时,结果会得到AsyncResult。它具有id属性,您可以将其存储在某处,然后使用result来检查和检索任务执行的实际结果。

结果存储是AMQP或数据库表。首先是更快,不要在数据库上添加负载,但需要一些额外的设置。