我有一封电子邮件发送在celery共享任务中运行的任务。我将python列表传递到html模板中。但是芹菜将此列表转换为字符串。但没有使用芹菜任务,我得到了实际的清单。
答案 0 :(得分:0)
在docs中,您可以阅读:
在客户端和工作人员之间传输的数据需要进行序列化,因此Celery中的每条消息都有一个content_type标头,用于描述用于对其进行编码的序列化方法。
默认的序列化器为 JSON ,但是您可以使用task_serializer设置更改此设置,也可以针对每个任务甚至每个消息进行更改。
作为序列化程序,您也可以使用pickle
,yaml
和msgpack
,但是必须对数据进行序列化。
序列化是强制性的,请记住,任务将使用JSON进行通信(这就是您的情况),并在使用数据之前对数据进行反序列化。