mirror of
https://github.com/jumpserver/jumpserver.git
synced 2025-09-05 17:30:30 +00:00
fix: settings 订阅不稳定
This commit is contained in:
@@ -6,6 +6,7 @@ import threading
|
|||||||
from django.dispatch import receiver
|
from django.dispatch import receiver
|
||||||
from django.db.models.signals import post_save, pre_save
|
from django.db.models.signals import post_save, pre_save
|
||||||
from django.utils.functional import LazyObject
|
from django.utils.functional import LazyObject
|
||||||
|
from django.db import close_old_connections
|
||||||
|
|
||||||
from jumpserver.utils import current_request
|
from jumpserver.utils import current_request
|
||||||
from common.decorator import on_transaction_commit
|
from common.decorator import on_transaction_commit
|
||||||
@@ -75,6 +76,7 @@ def subscribe_settings_change(sender, **kwargs):
|
|||||||
try:
|
try:
|
||||||
sub = setting_pub_sub.subscribe()
|
sub = setting_pub_sub.subscribe()
|
||||||
for msg in sub.listen():
|
for msg in sub.listen():
|
||||||
|
close_old_connections()
|
||||||
if msg["type"] != "message":
|
if msg["type"] != "message":
|
||||||
continue
|
continue
|
||||||
item = msg['data'].decode()
|
item = msg['data'].decode()
|
||||||
@@ -82,6 +84,7 @@ def subscribe_settings_change(sender, **kwargs):
|
|||||||
Setting.refresh_item(item)
|
Setting.refresh_item(item)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.exception(f'subscribe_settings_change: {e}')
|
logger.exception(f'subscribe_settings_change: {e}')
|
||||||
|
close_old_connections()
|
||||||
Setting.refresh_all_settings()
|
Setting.refresh_all_settings()
|
||||||
|
|
||||||
t = threading.Thread(target=keep_subscribe)
|
t = threading.Thread(target=keep_subscribe)
|
||||||
|
Reference in New Issue
Block a user