mirror of
https://github.com/jumpserver/jumpserver.git
synced 2025-10-22 08:19:04 +00:00
fix: 修复数据库连接没有关闭问题 (#7227)
* fix: 修复数据库连接没有关闭的bug perf: websocket 断开也添加关闭数据库连接 * fix: 修复数据库连接没有关闭问题 Co-authored-by: ibuler <ibuler@qq.com>
This commit is contained in:
@@ -3,8 +3,12 @@ import time
|
||||
import socket
|
||||
import threading
|
||||
from django.conf import settings
|
||||
from django.db.utils import OperationalError
|
||||
|
||||
from common.db.utils import close_old_connections
|
||||
from common.decorator import Singleton
|
||||
from common.utils import get_disk_usage, get_cpu_load, get_memory_usage, get_logger
|
||||
|
||||
from .serializers.terminal import TerminalRegistrationSerializer, StatusSerializer
|
||||
from .const import TerminalTypeChoices
|
||||
from .models.terminal import Terminal
|
||||
@@ -52,9 +56,12 @@ class BaseTerminal(object):
|
||||
status_serializer.validated_data.pop('sessions', None)
|
||||
terminal = self.get_or_register_terminal()
|
||||
status_serializer.validated_data['terminal'] = terminal
|
||||
status_serializer.save()
|
||||
|
||||
time.sleep(self.interval)
|
||||
try:
|
||||
status_serializer.save()
|
||||
time.sleep(self.interval)
|
||||
except OperationalError:
|
||||
close_old_connections()
|
||||
|
||||
def get_or_register_terminal(self):
|
||||
terminal = Terminal.objects.filter(
|
||||
|
Reference in New Issue
Block a user