Django celery kombu.exceptions.EncodeError

from sys import pycache_prefix

когда я запускаю это, я получаю следующую ошибку

celery_task.delay(event_data)

error:

File "/usr/lib/python3.8/json/__init__.py", line 234, in dumps
    return cls(
File "/usr/lib/python3.8/json/encoder.py", line 199, in encode
    chunks = self.iterencode(o, _one_shot=True)
File "/usr/lib/python3.8/json/encoder.py", line 257, in iterencode
    return _iterencode(o, 0)
File "/home/ubuntu/baby_prod_backend/env/lib/python3.8/site-packages/kombu/utils/json.py", line 58, in default
    return super().default(o)
File "/usr/lib/python3.8/json/encoder.py", line 179, in default
    raise TypeError(f'Object of type {o.__class__.__name__} '
kombu.exceptions.EncodeError: Object of type AttributeDict is not JSON serializable

моя задача по сельдерею

app = Celery("settings", broker=BASE_REDIS_URL)
app.config_from_object("django.conf:settings", namespace="CELERY")
app.autodiscover_tasks()


CELERY_EAGER_PROPAGATES_EXCEPTIONS = True


app.conf.broker_url = BASE_REDIS_URL

app.conf.update(
    task_serializer="pickle",
    result_serializer="json",
    accept_content=["json", 'pickle']
)

@app.task(serializer='json')
def partial_bid_created_event(event):
    transactionHash = transactionHash.hex()
    transaction_processed = ProcessTransaction.objects.filter(tnxid=transactionHash, event=event["event"]).count()
    if transaction_processed:
        return {"msg": "transaction already created"}

пожалуйста, посмотрите, в чем может быть проблема. Используя эту задачу, я делаю кое-что в моей базе данных django

ниже я добавил внутри set.py

CELERY_EAGER_PROPAGATES_EXCEPTIONS = True
CELERY_TASK_SERIALIZER = 'pickle'
CELERY_RESULT_SERIALIZER = 'pickle'
CELERY_ACCEPT_CONTENT = ['pickle', 'json']

пробовал использовать json и pickle оба не работают .

Вернуться на верх