2012-07-11 19 views
6

djangoリクエストオブジェクトをCeleryワーカーに渡すにはどうしたらいいですか?要求オブジェクトを渡そうとすると、エラーがスローされます。Django-Celery:リクエストオブジェクトをワーカーに渡す

Can't Pickle Input Objects 

これは、セラーがworkerに渡す引数をシリアライズしているようです。 私はJSONのような他のシリアル化メソッドを使ってみました。

CELERY_TASK_SERIALIZER = "JSON" 

しかし、動作しません。

データをシリアル化しないようにセッティングを設定することは可能ですか?または、要求オブジェクトを文字列に変換してからworkerに渡してから、再度workerに戻してオブジェクトに変換することができます。

事前に感謝しますが...

+0

文字列に変換してオブジェクトに変換することをシリアル化といいます。 –

答えて

9

あなたは(詳細はthis questionを参照)Djangoのリクエスト・オブジェクトを酸洗いすることはできません。代わりに、関連する情報を必要な要求オブジェクトからセロリのタスクに渡す必要があります。

ほとんどのオブジェクトを問題なくピックすることができるので、セロリのタスクに他の情報を渡すことは問題ありません。

関連する問題