From 5b498650cb461ad744143fbd5a6965551ce71aa4 Mon Sep 17 00:00:00 2001 From: ibuler <ibuler@qq.com> Date: Thu, 24 Aug 2023 18:02:56 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E6=96=B0=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E5=8F=91=E5=B8=83=E6=9C=BA=E4=B8=8D=E8=A2=AB=E8=B0=83?= =?UTF-8?q?=E5=BA=A6=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/terminal/models/applet/applet.py | 5 +++++ apps/terminal/signal_handlers/applet.py | 2 ++ 2 files changed, 7 insertions(+) diff --git a/apps/terminal/models/applet/applet.py b/apps/terminal/models/applet/applet.py index ccd1a8e52..cfc496397 100644 --- a/apps/terminal/models/applet/applet.py +++ b/apps/terminal/models/applet/applet.py @@ -148,6 +148,11 @@ class Applet(JMSBaseModel): shutil.copytree(path, pkg_path) return instance, serializer + @classmethod + def clear_host_prefer(cls): + prefer_key = 'applet_host_prefer_{}'.format("*") + cache.delete_pattern(prefer_key) + def select_host(self, user, asset): hosts = self.hosts.filter(is_active=True) hosts = [host for host in hosts if host.load != 'offline'] diff --git a/apps/terminal/signal_handlers/applet.py b/apps/terminal/signal_handlers/applet.py index 3b1239901..db02f4b0c 100644 --- a/apps/terminal/signal_handlers/applet.py +++ b/apps/terminal/signal_handlers/applet.py @@ -20,6 +20,8 @@ logger = get_logger(__file__) def on_applet_host_create(sender, instance, created=False, **kwargs): if not created: return + Applet.clear_host_prefer() + applets = Applet.objects.all() instance.applets.set(applets)