我不明白在这两种情况下实际结果存储在哪里。
我在测试应用程序中使用django-celery和sqlite作为我的数据库。我使用RabbitMQ作为我的代理。
我尝试设置CELERY_RESULT_BACKEND = "amqp"
以及“数据库”CELERY_RESULT_DBURI="mysqlitedb"
但无论哪种情况,我都不明白一旦存储结果如何与结果进行交互。
我想我无法理解一旦工作人员在任务结束时返回结果会发生什么的基本概念。
当您向 celery 发送任务时,您会得到AsyncResult
结果。它有一个id
属性,您可以将其存储在某处,然后使用result来检查和检索任务执行的实际结果。
结果存储为 AMQP 或数据库表。首先速度更快,不会增加数据库负载,但需要一些额外的设置。