From 655658b5b8e3d50e52773dcb1ca25dc0173762fc Mon Sep 17 00:00:00 2001 From: dgtlmoon Date: Fri, 16 May 2025 18:39:52 +0200 Subject: [PATCH] isolate with gevent --- changedetectionio/realtime/socket_server.py | 2 +- requirements.txt | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/changedetectionio/realtime/socket_server.py b/changedetectionio/realtime/socket_server.py index 38af70ba..b2463c0b 100644 --- a/changedetectionio/realtime/socket_server.py +++ b/changedetectionio/realtime/socket_server.py @@ -152,7 +152,7 @@ def init_socketio(app, datastore): # Use the threading async_mode instead of eventlet # This avoids the need for monkey patching eventlet, # Which leads to problems with async playwright etc - async_mode = 'threading' + async_mode = 'gevent' logger.info(f"Using {async_mode} mode for Socket.IO") # Restrict SocketIO CORS to same origin by default, can be overridden with env var diff --git a/requirements.txt b/requirements.txt index 3b14de93..e2b00f3d 100644 --- a/requirements.txt +++ b/requirements.txt @@ -98,6 +98,9 @@ levenshtein # Needed for > 3.10, https://github.com/microsoft/playwright-python/issues/2096 greenlet >= 3.0.3 +# Used for realtime socketio mode (so its a different driver to eventlet/threading not to interfere with playwright) +gevent + # Pinned or it causes problems with flask_expects_json which seems unmaintained referencing==0.35.1