Celery结果后端在结果列中存储编码的字符串

时间:2015-09-06 05:59:31

标签: serialization redis celery django-celery

运行异步任务后

tasks.add.apply_async( (10, 10))

我检查了结果后端数据库表 celery_taskmeta 并注意到结果包含 gAJLBC4 =

之类的内容

我无法在文档中找到该结果所暗示的内容以及是否可以将表中的函数调用的实际结果(即返回值)存储为<​​/ em>。

对于我正在执行添加两个数字的任务的实例:10和10, celery_taskmeta 中的结果列应该有20个(根据我的理解)(这是可能是错的)。

我该如何实现?

我假设结果也是序列化的?我正在使用redis代理,并且不清楚我需要设置哪个配置才能检索实际的返回值。

1 个答案:

答案 0 :(得分:1)

获得结果的最佳方法是不直接查询数据库,而是使用result api

result = tasks.add.apply_async( (10, 10))
result.ready
> True
result.result
> 20