Python 在芹菜结果中使用amqp后端和数据库后端有什么区别?

Python 在芹菜结果中使用amqp后端和数据库后端有什么区别?,python,django,rabbitmq,celery,Python,Django,Rabbitmq,Celery,我不明白在这两种情况下实际结果存储在哪里。 我正在测试应用程序中使用django芹菜和sqlite作为我的数据库。我使用RabbitMQ作为我的经纪人 我试着设置了CELERY\u RESULT\u BACKEND=“amqp”,并用CELERY\u RESULT\u DBURI=“mysqlitedb” 但无论是哪种情况,我都不明白在结果存储后如何与它们交互 我想我无法理解当工作人员在任务结束时返回时,结果会发生什么变化的基本概念。当您将任务发送到芹菜时,您会得到AsyncResult。它有一

我不明白在这两种情况下实际结果存储在哪里。
我正在测试应用程序中使用django芹菜sqlite作为我的数据库。我使用RabbitMQ作为我的经纪人

我试着设置了
CELERY\u RESULT\u BACKEND=“amqp”
,并用
CELERY\u RESULT\u DBURI=“mysqlitedb”

但无论是哪种情况,我都不明白在结果存储后如何与它们交互


我想我无法理解当工作人员在任务结束时返回时,结果会发生什么变化的基本概念。

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


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

您是否在询问如何直接与数据库中的数据交互?我怀疑数据库只是用来存储队列,并使用阻塞事务来创建分布式锁。我不希望有任何有用的持久数据。这只是我最好的猜测,我对芹菜的内部结构一无所知。谁和什么持有结果,以及数据库后端dif如何比amqp后端更有效。如果您在决定查看结果之前等待很长时间,那么它必须存储在某个地方。芹菜2.5的任务id-稳定版本。然后我不明白问题是什么。结果存储是AMQP或数据库表。第一个更快,不在DB上添加负载,但需要一些额外的设置。还有什么?编辑您的答案以反映您的评论,这样我就可以取消投票并检查您。是的,我的问题不清楚。我不清楚结果在django芹菜中实际存储在哪里,或者如何以ORM方式与结果交互。或者当它们堆积在数据库中时,该如何处理它们。