From dfa0198742e188b8f4951e88df8f203d5acec268 Mon Sep 17 00:00:00 2001 From: ibuler Date: Thu, 10 Jul 2025 17:09:17 +0800 Subject: [PATCH] perf: safe db connection on runner success --- apps/assets/automations/base/manager.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/apps/assets/automations/base/manager.py b/apps/assets/automations/base/manager.py index 67406666b..afb66a485 100644 --- a/apps/assets/automations/base/manager.py +++ b/apps/assets/automations/base/manager.py @@ -11,6 +11,7 @@ from django.utils.translation import gettext as _ from sshtunnel import SSHTunnelForwarder from assets.automations.methods import platform_automation_methods +from common.db.utils import safe_db_connection from common.utils import get_logger, lazyproperty, is_openssh_format_key, ssh_pubkey_gen from ops.ansible import JMSInventory, DefaultCallback, SuperPlaybookRunner from ops.ansible.interface import interface @@ -339,7 +340,8 @@ class BasePlaybookManager: try: kwargs.update({"clean_workspace": False}) cb = runner.run(**kwargs) - self.on_runner_success(runner, cb) + with safe_db_connection(): + self.on_runner_success(runner, cb) except Exception as e: self.on_runner_failed(runner, e) finally: