Skip to content

Commit 073f8ac

Browse files
committed
fix spawn 2 remote access processes when enable debug in flask backed
1 parent 4ac7f0e commit 073f8ac

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

pywebio/platform/flask.py

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,20 @@
11
"""
22
Flask backend
33
"""
4-
import os
54
import json
65
import logging
6+
import os
77
import threading
88

9+
import werkzeug
910
from flask import Flask, request, send_from_directory, Response
1011

1112
from . import page
12-
from ..session import Session
1313
from .httpbased import HttpContext, HttpHandler, run_event_loop
14-
from .remote_access import start_remote_access_service
1514
from .page import make_applications
15+
from .remote_access import start_remote_access_service
1616
from .utils import cdn_validation
17+
from ..session import Session
1718
from ..utils import STATIC_PATH, iscoroutinefunction, isgeneratorfunction
1819
from ..utils import get_free_port, parse_file_size
1920

@@ -166,12 +167,13 @@ def start_server(applications, port=8080, host='', cdn=True,
166167
if not debug:
167168
logging.getLogger('werkzeug').setLevel(logging.WARNING)
168169

169-
if remote_access:
170+
running_from_reloader = werkzeug.serving.is_running_from_reloader()
171+
if remote_access and not running_from_reloader:
170172
start_remote_access_service(local_port=port)
171173

172174
has_coro_target = any(iscoroutinefunction(target) or isgeneratorfunction(target) for
173175
target in make_applications(applications).values())
174-
if has_coro_target:
176+
if has_coro_target and not running_from_reloader:
175177
threading.Thread(target=run_event_loop, daemon=True).start()
176178

177-
app.run(host=host, port=port, debug=debug, threaded=True, **flask_options)
179+
app.run(host=host, port=port, debug=debug, threaded=True, use_evalex=False, **flask_options)

0 commit comments

Comments
 (0)