refac
This commit is contained in:
1 parent
2d2bcb5332
commit
3c1017f6c3
5 files changed
+31
-8
No files matched your search
@@ -507,6 +507,15 @@ try:
|
|||||||
except ValueError:
|
except ValueError:
|
||||||
WEBSOCKET_SERVER_PING_INTERVAL = 25
|
WEBSOCKET_SERVER_PING_INTERVAL = 25
|
||||||
|
|
||||||
|
WEBSOCKET_HEARTBEAT_INTERVAL = os.getenv('WEBSOCKET_HEARTBEAT_INTERVAL', '')
|
||||||
|
if WEBSOCKET_HEARTBEAT_INTERVAL == '':
|
||||||
|
WEBSOCKET_HEARTBEAT_INTERVAL = None
|
||||||
|
else:
|
||||||
|
try:
|
||||||
|
WEBSOCKET_HEARTBEAT_INTERVAL = min(max(int(WEBSOCKET_HEARTBEAT_INTERVAL), 5), 90)
|
||||||
|
except ValueError:
|
||||||
|
WEBSOCKET_HEARTBEAT_INTERVAL = 30
|
||||||
|
|
||||||
WEBSOCKET_EVENT_CALLER_TIMEOUT = os.getenv('WEBSOCKET_EVENT_CALLER_TIMEOUT', '')
|
WEBSOCKET_EVENT_CALLER_TIMEOUT = os.getenv('WEBSOCKET_EVENT_CALLER_TIMEOUT', '')
|
||||||
|
|
||||||
if WEBSOCKET_EVENT_CALLER_TIMEOUT == '':
|
if WEBSOCKET_EVENT_CALLER_TIMEOUT == '':
|
||||||
|
|||||||
@@ -111,6 +111,7 @@ from open_webui.env import (
|
|||||||
SAFE_MODE,
|
SAFE_MODE,
|
||||||
SCIM_TOKEN,
|
SCIM_TOKEN,
|
||||||
VERSION,
|
VERSION,
|
||||||
|
WEBSOCKET_HEARTBEAT_INTERVAL,
|
||||||
# Admin Account Runtime Creation
|
# Admin Account Runtime Creation
|
||||||
WEBUI_ADMIN_EMAIL,
|
WEBUI_ADMIN_EMAIL,
|
||||||
WEBUI_ADMIN_NAME,
|
WEBUI_ADMIN_NAME,
|
||||||
@@ -2297,6 +2298,11 @@ async def get_app_config(request: Request):
|
|||||||
'enable_signup': config.get('ui.enable_signup'),
|
'enable_signup': config.get('ui.enable_signup'),
|
||||||
'enable_login_form': config.get('ui.enable_login_form'),
|
'enable_login_form': config.get('ui.enable_login_form'),
|
||||||
'enable_websocket': ENABLE_WEBSOCKET_SUPPORT,
|
'enable_websocket': ENABLE_WEBSOCKET_SUPPORT,
|
||||||
|
**(
|
||||||
|
{'websocket_heartbeat_interval': WEBSOCKET_HEARTBEAT_INTERVAL}
|
||||||
|
if WEBSOCKET_HEARTBEAT_INTERVAL is not None
|
||||||
|
else {}
|
||||||
|
),
|
||||||
# --- Authenticated: only consumed by logged-in frontend ---
|
# --- Authenticated: only consumed by logged-in frontend ---
|
||||||
**(
|
**(
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ from open_webui.env import (
|
|||||||
GLOBAL_LOG_LEVEL,
|
GLOBAL_LOG_LEVEL,
|
||||||
REDIS_KEY_PREFIX,
|
REDIS_KEY_PREFIX,
|
||||||
WEBSOCKET_EVENT_CALLER_TIMEOUT,
|
WEBSOCKET_EVENT_CALLER_TIMEOUT,
|
||||||
|
WEBSOCKET_HEARTBEAT_INTERVAL,
|
||||||
WEBSOCKET_MANAGER,
|
WEBSOCKET_MANAGER,
|
||||||
WEBSOCKET_REDIS_CLUSTER,
|
WEBSOCKET_REDIS_CLUSTER,
|
||||||
WEBSOCKET_REDIS_LOCK_TIMEOUT,
|
WEBSOCKET_REDIS_LOCK_TIMEOUT,
|
||||||
@@ -102,7 +103,11 @@ else:
|
|||||||
|
|
||||||
# Timeout duration in seconds
|
# Timeout duration in seconds
|
||||||
TIMEOUT_DURATION = 3
|
TIMEOUT_DURATION = 3
|
||||||
SESSION_POOL_TIMEOUT = 120 # seconds without heartbeat before session is reaped
|
SESSION_POOL_TIMEOUT = (
|
||||||
|
max(WEBSOCKET_HEARTBEAT_INTERVAL * 4, 120)
|
||||||
|
if WEBSOCKET_HEARTBEAT_INTERVAL is not None
|
||||||
|
else 120
|
||||||
|
)
|
||||||
|
|
||||||
# Dictionary to maintain the user pool
|
# Dictionary to maintain the user pool
|
||||||
|
|
||||||
|
|||||||
@@ -355,6 +355,7 @@ type Config = {
|
|||||||
enable_version_update_check: boolean;
|
enable_version_update_check: boolean;
|
||||||
enable_pyodide_file_persistence?: boolean;
|
enable_pyodide_file_persistence?: boolean;
|
||||||
folder_max_file_count?: number;
|
folder_max_file_count?: number;
|
||||||
|
websocket_heartbeat_interval?: number | null;
|
||||||
};
|
};
|
||||||
oauth: {
|
oauth: {
|
||||||
providers: {
|
providers: {
|
||||||
|
|||||||
@@ -213,13 +213,15 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Send heartbeat every 30 seconds
|
heartbeatInterval = setInterval(
|
||||||
heartbeatInterval = setInterval(() => {
|
() => {
|
||||||
if (_socket.connected) {
|
if (_socket.connected) {
|
||||||
console.log('Sending heartbeat');
|
console.log('Sending heartbeat');
|
||||||
_socket.emit('heartbeat', {});
|
_socket.emit('heartbeat', {});
|
||||||
}
|
}
|
||||||
}, 30000);
|
},
|
||||||
|
($config?.features?.websocket_heartbeat_interval ?? 30) * 1000
|
||||||
|
);
|
||||||
|
|
||||||
if (deploymentId !== null) {
|
if (deploymentId !== null) {
|
||||||
WEBUI_DEPLOYMENT_ID.set(deploymentId);
|
WEBUI_DEPLOYMENT_ID.set(deploymentId);
|
||||||
|
|||||||
Reference in new issue
Block a user