Django-celery: передача объекта запроса работнику
Как я могу передать объект запроса django в celery worker. При попытке передать объект запроса он выдает ошибку
Can't Pickle Input Objects
Кажется, что сельдерей сериализует любые аргументы, переданные рабочему. Я попытался использовать другие методы сериализации, такие как JSON.
CELERY_TASK_SERIALIZER = "JSON"
но это не работает.
можно ли настроить сельдерей, так что он не будет сериализовать данные. Или я могу преобразовать объект запроса в строку перед передачей в worker, а затем снова преобразовать возражать в рабочий.
спасибо заранее...
1 ответов
вы не можете рассолить объекты запроса Django (см. этот вопрос для более подробной информации). Вместо этого вы должны передать соответствующую информацию из объекта запроса, который вам нужен, в задачи сельдерея.
У вас не должно быть проблем с передачей другой информации в задачу сельдерея, поскольку большинство объектов могут быть маринованы без проблем.