【发布时间】:2017-09-08 22:32:00
【问题描述】:
我正在使用带有 Django 的 Celery 来处理某个任务,该任务返回一个 JSON 值,该值需要放入模型记录中。现在我看到 2 个选项可以将其持久保存在 Django 数据库中:
- 将记录的 ID 作为任务签名的一部分传递。然后 Celery 可以使用它来
update记录。 - 或者,我可以从任务返回结果并为 Celery 启用
django-db结果后端,它将位于 Celery 自己的 task_result 表中。这意味着我必须将 AsyncResult Id 保留在记录中,每当客户端请求记录时,我都会查找该过程是否已完成。
对我来说,选项 1 似乎更好,但由于我近年来没有使用 Celery,我想知道它是否有缺点,和/或选项 2 更适合哪种情况。
谢谢!
【问题讨论】: