如何解码Mongo DB的芹菜结果?

时间:2016-05-05 09:48:08

标签: python celery pymongo

当我使用后端为Mongo DB的celery执行任务时,它将结果以BinData(0,"gAJLEy4=")的形式存储在数据库中。

我们如何从Mongo DB读取这个'结果'数据并将其解码为字符串?

我想写一个新的python脚本,它从Mongo db中读取所有结果。

芹菜结果模块或pymongo中是否有可用于处理此结果的直接API?

在我的情况下,结果将是网页的HTML源(即已爬网数据)

1 个答案:

答案 0 :(得分:2)

得到了答案。默认情况下,Celery将结果存储为数据存储中的pickle对象。 我们可以通过调用函数pickle.loads

来检索这个值
import pickle
# Connect db
# Fetch record from the collection
str_result = pickle.loads(c['result'])