1

我正在使用 django celery 开始一个项目,并且正在对“djcelery.urls”提供的任务 url 进行 ajax 调用。

我想知道一些关于这个数据的事情:

  1. 这些信息存储在哪里?它是从我的 django 项目数据库中的 djcelery 表中调用的,还是保存在 RabbitMQ 服务器上?我对数据库中 djcelery 表的理解是,它们仅用于监视使用相机的使用情况。

  2. 如果它存储在 RabbitMQ 服务器上,任务状态报告将可用多长时间?这些数据消耗多少内存?

  3. 我是否需要定期刷新任务状态报告以防止内存泄漏?这将如何完成?通过重启rabbitmq服务器?

谢谢。

4

1 回答 1

3

结果存储在CELERY_RESULT_BACKEND中,默认情况下禁用。

您可以通过使用适当的方法创建新的celery.result.AsyncResulttask_id来获得任务的结果:如果我有指向那里的 ID,我如何获得任务的结果?.

除非您设置CELERY_AMQP_TASK_RESULT_EXPIRES,否则任务将永远不会过期。您可以使用AsyncResult.forget()手动删除任务的结果。

于 2011-08-08T22:45:36.670 回答