2015-01-02 6 views
6

私はsettings.pyの行を次しているにもかかわらず:セロリの漬物型コンテンツ許可されないエラー

CELERY_ACCEPT_CONTENT = ['application/json'] 
CELERY_TASKS_SERIALIZER = 'json' 
CELERY_RESULT_SERIALIZER = 'json' 
from kombu import serialization 
serialization.registry._decoders.pop("application/x-python-serialize") 

私はまだピクルスコンテンツを取得していますトレースバックを許可しません。私はすでに別の場所で正確に同じ設定でうまく動作してセロリを持っていることは奇妙です。誰かが解決策を提案できれば、本当に役に立ちます。 Djangoのバージョンは1.7.1で、セロリは今日ダウンロードされたので、最新のものにする必要があります。ブローカーとしてrabbitmqを使用する。以下は、エラーの完全なトレースバックです。

[2015-01-01 23:45:20,652: CRITICAL/MainProcess] Can't decode message body: ContentDisallowed('Refusing to deserialize untrusted content of type pickle (application/x-python-serialize)',) [type:u'application/x-python-serialize' encoding:u'binary' headers:{}] 
body: '\x80\x02}q\x01(U\x07expiresq\x02NU\x03utcq\x03\x88U\x04argsq\x04X\x04\x00\x00\x00dsgfq\x05\x85q\x06U\x05chordq\x07NU\tcallbacksq\x08NU\x08errbacksq\tNU\x07tasksetq\nNU\x02idq\x0bU$76263889-0ef2-4193-8286-1a38630df08aq\x0cU\x07retriesq\rK\x00U\x04taskq\x0eU"pricematch.tasks.amazon_pricematchq\x0fU\ttimelimitq\x10NN\x86U\x03etaq\x11NU\x06kwargsq\x12}q\x13u.' (241b) 
Traceback (most recent call last): 
    File "/usr/local/lib/python2.7/dist-packages/kombu/messaging.py", line 586, in _receive_callback 
    decoded = None if on_m else message.decode() 
    File "/usr/local/lib/python2.7/dist-packages/kombu/message.py", line 142, in decode 
    self.content_encoding, accept=self.accept) 
    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) 

これは、私はsettings.pyファイルにプロジェクトディレクトリの並列にcelery.pyファイル内に持っているものです。

from __future__ import absolute_import 
import os 
from celery import Celery 
from django.conf import settings 
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'projectname.settings') 
app = Celery('projectname',broker='amqp://',backend='amqp://',) 
app.config_from_object('django.conf:settings') 
app.autodiscover_tasks(lambda: settings.INSTALLED_APPS) 
@app.task(bind=True) 
def debug_task(self): 
    print('Request: {0!r}'.format(self.request)) 

私はあなたを信じて、追加情報が

答えて

7

を必要とされている場合は私に知らせてください「再

CELERY_TASK_SERIALIZER 

なく

を探して私は別の実装に移動したが、210
CELERY_TASKS_SERIALIZER 

celery-task-serializer

+1

私は、それが問題だと思う、私はまだチェックして、答えを受け入れるようにシナリオを再作成します。.. – Shark

関連する問題