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 оба не работают .