我正在使用Oracle result_backend来存储Celery结果,这些结果是BLOB格式的。当我用python连接到数据库并使用pickle.loads()时,它将工作,但当我试图在Oracle SQL中使用to_char(dbms_lob.substr(BLOB_FIELD))解码它们时,它不工作。例如,将echo 'Test'改为��
result_backend
pickle.loads()
to_char(dbms_lob.substr(BLOB_FIELD))
echo 'Test'
��
dtcbnfnu1#
我更愿意建议您将结果序列化改为使用JSON或YAML。这应该像将result_serializer参数设置为'json'或'yaml'一样简单。我对Oracle知之甚少,但我认为它对Python的pickle一无所知...Celery 4.0之前的版本默认使用pickle,在4.0及以后的版本中改为JSON。
1条答案
按热度按时间dtcbnfnu1#
我更愿意建议您将结果序列化改为使用JSON或YAML。这应该像将result_serializer参数设置为'json'或'yaml'一样简单。我对Oracle知之甚少,但我认为它对Python的pickle一无所知...
Celery 4.0之前的版本默认使用pickle,在4.0及以后的版本中改为JSON。