从 celery 中的结果后端查询所有结果的最简单方法是什么?我使用 MySQL 数据存储作为结果后端。
Celery 将结果存储为 BLOB 类型,因此我无法以纯文本形式检索结果。
如果您想知道我为什么这样做,用例是查询 Celery 执行的所有任务的结果。
最佳答案
结果不存储为任意 BLOB 类型,Celery 使用 SQLAlchemy 作为数据库后端并将结果存储为 PickleType
(参见Celery code)。从文档到 PickleType
:
PickleType builds upon the Binary type to apply Python’s
pickle.dumps()
to incoming objects, andpickle.loads()
on the way out, allowing any pickleable Python object to be stored as a serialized binary field.
因此,您应该能够简单地对所选数据使用 pickle.loads()
。
关于python - 从 Celery 结果后端 MYSQL 查询结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55894242/