perf: open svc account register on deploy

pull/15552/head
ibuler 2025-06-09 11:50:22 +08:00 committed by 老广
parent 48a9b2664a
commit 1e07cba545
2 changed files with 6 additions and 1 deletions

View File

@ -3,6 +3,7 @@
import time import time
from django.conf import settings from django.conf import settings
from django.core.cache import cache
from rest_framework import permissions from rest_framework import permissions
@ -30,6 +31,8 @@ class WithBootstrapToken(permissions.BasePermission):
def check_can_register(self): def check_can_register(self):
enabled = settings.SECURITY_SERVICE_ACCOUNT_REGISTRATION enabled = settings.SECURITY_SERVICE_ACCOUNT_REGISTRATION
if enabled == 'auto': if enabled == 'auto':
if cache.get(f'APPLET_HOST_DELOYING'):
return True
return time.time() - settings.JUMPSERVER_UPTIME < 300 return time.time() - settings.JUMPSERVER_UPTIME < 300
elif enabled: elif enabled:
return True return True

View File

@ -1,5 +1,5 @@
from collections import defaultdict from collections import defaultdict
from django.core.cache import cache
from django.db import models from django.db import models
from django.utils import timezone from django.utils import timezone
from django.utils.translation import gettext_lazy as _ from django.utils.translation import gettext_lazy as _
@ -155,6 +155,8 @@ class AppletHostDeployment(JMSBaseModel):
self.host.terminal = None self.host.terminal = None
self.host.save() self.host.save()
terminal.delete() terminal.delete()
cache.set(f'APPLET_HOST_DELOYING', str(self.id), timeout=300)
from ...automations.deploy_applet_host import DeployAppletHostManager from ...automations.deploy_applet_host import DeployAppletHostManager
manager = DeployAppletHostManager(self, **kwargs) manager = DeployAppletHostManager(self, **kwargs)
manager.run() manager.run()