diff options
| author | Markus Heiser <markus.heiser@darmarIT.de> | 2025-07-08 13:46:39 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-07-08 13:46:39 +0200 |
| commit | bd593d0bad2189f57657bbcfa2c5e86f795c680e (patch) | |
| tree | 36fcd14067d923a5c90d49f068ef54e5b275d74c | |
| parent | fe52290e653e969c959b3160c1a09f02e751efd2 (diff) | |
[fix] granian: enabling debug on searxng-docker causes server crash (#4985)
When debugging is enabled, the context in which the process is running (uWSGI or
`Flask.run` server) was previously checked [1]. This check has not yet taken the
granian server into account.
----
The check is actually only required for the developer environment (`make run`)
[2] and is intended to prevent double loading of modules when initializing a
Flask server [3].
In the long term, we should find a more robust solution that explicitly enables
the specific features of a development environment via switches. Further
information on this problematic code can be found in [4][5][6].
[1] https://github.com/searxng/searxng/issues/4973#issuecomment-3047890957
[2] https://flask.palletsprojects.com/en/stable/api/#flask.Flask.run
[3] https://github.com/pallets/flask/issues/5307#issuecomment-1774646119
[4] https://github.com/searxng/searxng/pull/1656#issuecomment-1214198941
[5] https://github.com/searxng/searxng/pull/1616#issuecomment-1206137468
[6] https://stackoverflow.com/a/25504196
- closes: https://github.com/searxng/searxng/issues/4973
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
| -rwxr-xr-x | searx/webapp.py | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/searx/webapp.py b/searx/webapp.py index 22e31fb5c..868d95e3e 100755 --- a/searx/webapp.py +++ b/searx/webapp.py @@ -1350,9 +1350,9 @@ def is_werkzeug_reload_active() -> bool: .. _werkzeug.serving: https://werkzeug.palletsprojects.com/en/stable/serving/#werkzeug.serving.run_simple """ - - if "uwsgi" in sys.argv: - # server was launched by uWSGI + logger.debug("sys.argv: %s", sys.argv) + if "uwsgi" in sys.argv[0] or "granian" in sys.argv[0]: + # server was launched by granian (or uWSGI) return False # https://github.com/searxng/searxng/pull/1656#issuecomment-1214198941 |