From dd15286d2770bd9f15d18f63ba67c72536048611 Mon Sep 17 00:00:00 2001 From: ibuler Date: Fri, 10 Feb 2023 17:36:15 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E4=BC=98=E5=8C=96=20task?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/assets/api/asset/asset.py | 5 +++-- apps/assets/models/asset/common.py | 2 +- apps/assets/tasks/gather_facts.py | 4 ++-- apps/assets/tasks/ping.py | 4 ++-- 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/apps/assets/api/asset/asset.py b/apps/assets/api/asset/asset.py index 0e6bc0162..1d8bafc20 100644 --- a/apps/assets/api/asset/asset.py +++ b/apps/assets/api/asset/asset.py @@ -143,10 +143,11 @@ class AssetsTaskMixin: data = serializer.validated_data assets = data.get("assets", []) asset_ids = [asset.id for asset in assets] + if data["action"] == "refresh": - task = update_assets_hardware_info_manual.delay(asset_ids) + task = update_assets_hardware_info_manual(asset_ids) else: - task = test_assets_connectivity_manual.delay(asset_ids) + task = test_assets_connectivity_manual(asset_ids) return task def perform_create(self, serializer): diff --git a/apps/assets/models/asset/common.py b/apps/assets/models/asset/common.py index a745829b7..f68fb9904 100644 --- a/apps/assets/models/asset/common.py +++ b/apps/assets/models/asset/common.py @@ -199,7 +199,7 @@ class Asset(NodesRelationMixin, AbsConnectivity, JMSOrgBaseModel): def primary_protocol(self): from assets.const.types import AllTypes primary_protocol_name = AllTypes.get_primary_protocol_name(self.category, self.type) - protocol = self.protocols.get(name=primary_protocol_name) + protocol = self.protocols.filter(name=primary_protocol_name).first() return protocol @lazyproperty diff --git a/apps/assets/tasks/gather_facts.py b/apps/assets/tasks/gather_facts.py index 764342087..cbbaeacbc 100644 --- a/apps/assets/tasks/gather_facts.py +++ b/apps/assets/tasks/gather_facts.py @@ -45,11 +45,11 @@ def update_assets_hardware_info_manual(asset_ids): from assets.models import Asset assets = Asset.objects.filter(id__in=asset_ids) task_name = gettext_noop("Update assets hardware info: ") - gather_assets_facts_task.delay(assets=assets, task_name=task_name) + return gather_assets_facts_task.delay(assets=assets, task_name=task_name) def update_node_assets_hardware_info_manual(node_id): from assets.models import Node node = Node.objects.get(id=node_id) task_name = gettext_noop("Update node asset hardware information: ") - gather_assets_facts_task.delay(nodes=[node], task_name=task_name) + return gather_assets_facts_task.delay(nodes=[node], task_name=task_name) diff --git a/apps/assets/tasks/ping.py b/apps/assets/tasks/ping.py index 5cf0a94f8..882f5e5ef 100644 --- a/apps/assets/tasks/ping.py +++ b/apps/assets/tasks/ping.py @@ -32,7 +32,7 @@ def test_assets_connectivity_manual(asset_ids): from assets.models import Asset assets = Asset.objects.filter(id__in=asset_ids) task_name = gettext_noop("Test assets connectivity ") - test_assets_connectivity_task.delay(assets, task_name) + return test_assets_connectivity_task.delay(assets, task_name) def test_node_assets_connectivity_manual(node_id): @@ -40,4 +40,4 @@ def test_node_assets_connectivity_manual(node_id): node = Node.objects.get(id=node_id) task_name = gettext_noop("Test if the assets under the node are connectable ") assets = node.get_all_assets() - test_assets_connectivity_task.delay(*assets, task_name) + return test_assets_connectivity_task.delay(*assets, task_name)