mirror of https://github.com/jumpserver/jumpserver
fix: 修复 Celery Execution 任务保存失败导致 View 事务回滚的问题(首次登录用户修改密码失败)
parent
60d9db7707
commit
913c0d140d
|
@ -134,9 +134,10 @@ def task_sent_handler(headers=None, body=None, **kwargs):
|
||||||
args, kwargs, __ = body
|
args, kwargs, __ = body
|
||||||
|
|
||||||
try:
|
try:
|
||||||
args = list(args)
|
args = json.loads(json.dumps(list(args), cls=JSONEncoder))
|
||||||
kwargs = json.loads(json.dumps(kwargs, cls=JSONEncoder))
|
kwargs = json.loads(json.dumps(kwargs, cls=JSONEncoder))
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
logger.error('Parse task args or kwargs error (Need handle): {}'.format(e))
|
||||||
args = []
|
args = []
|
||||||
kwargs = {}
|
kwargs = {}
|
||||||
|
|
||||||
|
@ -151,11 +152,13 @@ def task_sent_handler(headers=None, body=None, **kwargs):
|
||||||
request = get_current_request()
|
request = get_current_request()
|
||||||
if request and request.user.is_authenticated:
|
if request and request.user.is_authenticated:
|
||||||
data['creator'] = request.user
|
data['creator'] = request.user
|
||||||
try:
|
|
||||||
CeleryTaskExecution.objects.create(**data)
|
with transaction.atomic():
|
||||||
except Exception as e:
|
try:
|
||||||
logger.error(e)
|
CeleryTaskExecution.objects.create(**data)
|
||||||
CeleryTask.objects.filter(name=task).update(date_last_publish=timezone.now())
|
except Exception as e:
|
||||||
|
logger.error('Create celery task execution error: {}'.format(e))
|
||||||
|
CeleryTask.objects.filter(name=task).update(date_last_publish=timezone.now())
|
||||||
|
|
||||||
|
|
||||||
@receiver(django_ready)
|
@receiver(django_ready)
|
||||||
|
|
Loading…
Reference in New Issue