Le décapant est refuser de sérialiser le contenu de céleri rapports ContentDisallowed: le Refus de désérialiser un contenu non approuvé de type cornichon
Je suis en train de mettre quelque objet python principalement json serializable sauf datetime.datetime dans rabbitmq file d'attente et l'utilisation de décapant à sérialiser.
celery_config fichier:
CELERY_TASK_SERIALIZER = 'pickle'
CELERY_RESULT_SERIALIZER = 'pickle'
Il est en train de lancer une exception en disant:
File "/usr/local/lib/python2.7/dist-packages/kombu/serialization.py", line 174, in loads
raise self._for_untrusted_content(content_type, 'untrusted')
ContentDisallowed: Refusing to deserialize untrusted content of type pickle (application/x-python-serialize)
Ce lien
me propose de faire la signature du message je n'en ai pas la moindre idée.
Quelqu'un peut-il svp me guider comment puis-je travailler?
- double de stackoverflow.com/questions/6628016/... ?
- Hey Andy, j'ai vérifié avec la solution ci-dessus qui n'est pas faire de différence. Malheureusement, je suis incapable de commenter et de poser mes doutes sur ce que je suis de nouveau à la pile. Btw réponse sommet suggère de mettre sérialiseur json qui ne fonctionne pas dans mon cas.
- super! (ou pas grand, selon la façon dont vous regardez les choses), tip top pour poser des questions ici: dire les choses que vous avez essayé et ce qui s'est passé (ce qui ne fonctionne pas)! +1 pour l'essayer!
- Merci pour l'astuce Andy.Va faire la prochaine fois.J'ai même essayé pas mal de choses comme la création de clés privées et de générer ssl cert, qui ne fonctionne pas non plus.J'ai mal coincé sur cette.
Vous devez vous connecter pour publier un commentaire.
Avez-vous essayé ceci:
Comme indiqué dans ce lien ( http://docs.celeryproject.org/en/latest/userguide/configuration.html#std:setting-accept_content)
ce paramètre accepte une liste de sérialiseur des noms et des types de contenu, de sorte que vous pouvez soit en liste blanche le sérialiseur ou les types de contenu que vous attendez pour sérialiser.
Donc soit faire ci-dessus, ou de l'utilisation de SSL signature du message... qui est en fait, la construction d'un ssh-paire de clés, et de permettre de
celery
d'utiliser vos clés pour obtenir une connexion sécurisée.Vous pouvez activer la signature du message, par l'enregistrement de votre "CLÉ" et "CERTIFICAT" avec:
Aussi loin que ce que ça veut dire... et comment il fonctionne, voir:
http://www.tldp.org/HOWTO/SSL-Certificates-HOWTO/x64.html
Aussi, pour la façon de générer des clés (et de sécuriser les connexions sans mot de passe), voir:
https://help.github.com/articles/generating-ssh-keys/
ou http://mah.everybody.org/docs/ssh plus générale des liens qui y sont référencés.
auth
sérialiseur utilisejson
en dessous et paspickle
. En l'obligeant à utiliserpickle
que le transport serait un échec lors de la sérialisation que le travailleur ne peut pas décoder correctement il.