mirror of
https://github.com/jumpserver/jumpserver.git
synced 2025-07-04 02:26:34 +00:00
perf: push account without increasing version.
This commit is contained in:
parent
98cf6f82b7
commit
02bdd0f07d
@ -160,6 +160,10 @@ class ChangeSecretManager(AccountBasePlaybookManager):
|
|||||||
ChangeSecretRecord.objects.bulk_create(records)
|
ChangeSecretRecord.objects.bulk_create(records)
|
||||||
return inventory_hosts
|
return inventory_hosts
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def need_change_account_version(account, recorder):
|
||||||
|
return account.secret != recorder.new_secret
|
||||||
|
|
||||||
def on_host_success(self, host, result):
|
def on_host_success(self, host, result):
|
||||||
recorder = self.name_recorder_mapper.get(host)
|
recorder = self.name_recorder_mapper.get(host)
|
||||||
if not recorder:
|
if not recorder:
|
||||||
@ -172,7 +176,6 @@ class ChangeSecretManager(AccountBasePlaybookManager):
|
|||||||
print("Account not found, deleted ?")
|
print("Account not found, deleted ?")
|
||||||
return
|
return
|
||||||
|
|
||||||
version_update_required = account.secret != recorder.new_secret
|
|
||||||
account.secret = recorder.new_secret
|
account.secret = recorder.new_secret
|
||||||
account.date_updated = timezone.now()
|
account.date_updated = timezone.now()
|
||||||
|
|
||||||
@ -183,7 +186,7 @@ class ChangeSecretManager(AccountBasePlaybookManager):
|
|||||||
try:
|
try:
|
||||||
recorder.save()
|
recorder.save()
|
||||||
account_update_fields = ['secret', 'date_updated']
|
account_update_fields = ['secret', 'date_updated']
|
||||||
if version_update_required:
|
if self.need_change_account_version(account, recorder):
|
||||||
account_update_fields.append('version')
|
account_update_fields.append('version')
|
||||||
account.save(update_fields=account_update_fields)
|
account.save(update_fields=account_update_fields)
|
||||||
break
|
break
|
||||||
|
@ -8,6 +8,11 @@ logger = get_logger(__name__)
|
|||||||
|
|
||||||
class PushAccountManager(ChangeSecretManager, AccountBasePlaybookManager):
|
class PushAccountManager(ChangeSecretManager, AccountBasePlaybookManager):
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def need_change_account_version(account, recorder):
|
||||||
|
account.skip_history_when_saving = True
|
||||||
|
return False
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def method_type(cls):
|
def method_type(cls):
|
||||||
return AutomationTypes.push_account
|
return AutomationTypes.push_account
|
||||||
|
Loading…
Reference in New Issue
Block a user