2014-04-06 3 views
4

Я только что установил свой первый экземпляр Celery, и я получаю предупреждения, чтобы отключить рассол в качестве сериализатора для проблем безопасности. Каково следствие его отключения? Для чего Селльеру нужен серийник?Сельдерей отказывается принимать рассол по умолчанию, следует ли его отключить?

Если вы зависите от рассола, то вы должны установить параметр, чтобы отключить эту предупреждение и быть уверенным, что все будет продолжать работать, когда вы обновление до сельдерея 3,2 ::

CELERY_ACCEPT_CONTENT = ['pickle', 'json', 'msgpack', 'yaml']

ответ

5

От http://celery.readthedocs.org/en/latest/faq.html#is-celery-dependent-on-pickle:

Формат сериализации по умолчанию - рассол просто потому, что это удобно (он поддерживает отправку сложных объектов Python в качестве аргументов задачи).

Если вы будете использовать рассол или нет, вы можете отключить это предупреждение, установив переменную конфигурации CELERY_ACCEPT_CONTENT.

Если вы не используете объекты Python в качестве аргументов в своих задачах, вам следует рассмотреть возможность использования безопасного, например. json.

Другим ограничением является рассол никаких результатов задачи - не вижу http://docs.celeryproject.org/en/latest/faq.html#isn-t-using-pickle-a-security-concern:

Для сообщений задач, которые можно установить в положение «JSON» или «YAML» вместо рассола CELERY_TASK_SERIALIZER. В настоящее время нет альтернативного решения для результатов задачи (но создание пользовательского результирующего бэкэнда с использованием JSON - простая задача)

+3

> Еще одно ограничение рассола - это не результаты задачи <Это неверно. Цитата была в контексте безопасности. – warvariuc

Смежные вопросы