fix: celery kwargs 参数解析问题

pull/13059/head
Aaron3S 2024-04-18 16:41:54 +08:00 committed by Bryan
parent fbf42ebbf9
commit 1b221d1cb6
1 changed files with 6 additions and 3 deletions

View File

@ -1,4 +1,5 @@
import ast import ast
import json
import time import time
from celery import signals from celery import signals
@ -9,6 +10,7 @@ from django.db.utils import ProgrammingError
from django.dispatch import receiver from django.dispatch import receiver
from django.utils import translation, timezone from django.utils import translation, timezone
from django.utils.functional import LazyObject from django.utils.functional import LazyObject
from rest_framework.utils.encoders import JSONEncoder
from common.db.utils import close_old_connections, get_logger from common.db.utils import close_old_connections, get_logger
from common.signals import django_ready from common.signals import django_ready
@ -130,10 +132,11 @@ def task_sent_handler(headers=None, body=None, **kwargs):
return return
args, kwargs, __ = body args, kwargs, __ = body
try: try:
args = list(ast.literal_eval(args)) args = list(args)
kwargs = ast.literal_eval(kwargs) kwargs = json.loads(json.dumps(kwargs, cls=JSONEncoder))
except (ValueError, SyntaxError): except Exception as e:
args = [] args = []
kwargs = {} kwargs = {}