强制芹菜用 json 代替泡菜



我已经将芹菜配置为按以下方式使用 json:

CELERY_ACCEPT_CONTENT = ['json']
CELERY_TASK_SERIALIZER = 'json'
CELERY_RESULT_SERIALIZER = 'json'

但是,当工作人员收到任务时,它会生成以下错误:

ContentDisallowed: Refusing to deserialize untrusted content of type pickle (application/x-python-serialize)

我错过了什么,也许是没有记录的。

问题是芹菜接受为json,并且在发送任务时将其发送内容作为pickle因此出现错误。

正如这里提到的,在调用时,您必须指定序列化程序(自芹菜 4.0 以来默认json

add.apply_async((10, 10), serializer='json') 

这似乎在最新版本的芹菜中得到了解决。我在此处添加链接以供参考:

https://github.com/celery/celery/blob/8047ca9e818db8151dc6c80814600797ab94f5bc/docs/history/whatsnew-4.0.rst#json-is-now-the-default-serializer

相关内容

  • 没有找到相关文章

最新更新