perf: 优化用户详情页授权列表加载速度&添加可重入锁

This commit is contained in:
xinwen
2021-02-08 14:59:20 +08:00
committed by 老广
parent e599bca951
commit 9be3cbb936
22 changed files with 434 additions and 124 deletions

View File

@@ -8,7 +8,6 @@ from rest_framework.response import Response
from rest_framework.decorators import action
from django.utils.translation import ugettext_lazy as _
from django.shortcuts import get_object_or_404, Http404
from django.utils.decorators import method_decorator
from django.db.models.signals import m2m_changed
from common.const.http import POST
@@ -25,10 +24,10 @@ from ..models import Node
from ..tasks import (
update_node_assets_hardware_info_manual,
test_node_assets_connectivity_manual,
check_node_assets_amount_task
)
from .. import serializers
from .mixin import SerializeToTreeNodeMixin
from assets.locks import NodeTreeUpdateLock
logger = get_logger(__file__)
@@ -54,6 +53,11 @@ class NodeViewSet(OrgModelViewSet):
serializer.validated_data["key"] = child_key
serializer.save()
@action(methods=[POST], detail=False, url_path='check_assets_amount_task')
def check_assets_amount_task(self, request):
task = check_node_assets_amount_task.delay(current_org.id)
return Response(data={'task': task.id})
def perform_update(self, serializer):
node = self.get_object()
if node.is_org_root() and node.value != serializer.validated_data['value']: