mirror of https://github.com/jumpserver/jumpserver
fix: 修复 Celery Execution 任务保存失败导致 View 事务回滚的问题(首次登录用户修改密码失败)
parent
d4f9e30306
commit
2782d4b5f1
|
@ -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,10 +152,12 @@ 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
|
||||||
|
|
||||||
|
with transaction.atomic():
|
||||||
try:
|
try:
|
||||||
CeleryTaskExecution.objects.create(**data)
|
CeleryTaskExecution.objects.create(**data)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.error(e)
|
logger.error('Create celery task execution error: {}'.format(e))
|
||||||
CeleryTask.objects.filter(name=task).update(date_last_publish=timezone.now())
|
CeleryTask.objects.filter(name=task).update(date_last_publish=timezone.now())
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue