From 2ec229a1a319596355e8eaa191d34c976144d6ec Mon Sep 17 00:00:00 2001 From: maning202007 Date: Wed, 9 Dec 2020 16:38:27 +0800 Subject: [PATCH] Fix the bug when debugger-port and port are same. --- mindinsight/backend/debugger/debugger_api.py | 5 ++--- mindinsight/conf/defaults.py | 2 +- mindinsight/debugger/debugger_server.py | 5 ++--- mindinsight/scripts/start.py | 10 +++++++--- 4 files changed, 12 insertions(+), 10 deletions(-) diff --git a/mindinsight/backend/debugger/debugger_api.py b/mindinsight/backend/debugger/debugger_api.py index ce6277f0..b5f26aac 100644 --- a/mindinsight/backend/debugger/debugger_api.py +++ b/mindinsight/backend/debugger/debugger_api.py @@ -27,11 +27,10 @@ BLUEPRINT = Blueprint("debugger", __name__, def _initialize_debugger_server(): """Initialize a debugger server instance.""" - port = settings.DEBUGGER_PORT if hasattr(settings, 'DEBUGGER_PORT') else None enable_debugger = settings.ENABLE_DEBUGGER if hasattr(settings, 'ENABLE_DEBUGGER') else False server = None - if port and enable_debugger: - server = DebuggerServer(port) + if enable_debugger: + server = DebuggerServer() return server diff --git a/mindinsight/conf/defaults.py b/mindinsight/conf/defaults.py index ea05dcd4..0f8e0dc7 100644 --- a/mindinsight/conf/defaults.py +++ b/mindinsight/conf/defaults.py @@ -29,7 +29,7 @@ URL_PATH_PREFIX = '' #################################### # Debugger default settings. #################################### -DEBUGGER_PORT = '50051' +DEBUGGER_PORT = 50051 ENABLE_DEBUGGER = False #################################### diff --git a/mindinsight/debugger/debugger_server.py b/mindinsight/debugger/debugger_server.py index 13ae323f..a79ed77a 100644 --- a/mindinsight/debugger/debugger_server.py +++ b/mindinsight/debugger/debugger_server.py @@ -60,8 +60,7 @@ def try_except(func): class DebuggerServer: """The server manager of debugger.""" - def __init__(self, grpc_port=None): - self.grpc_port = grpc_port + def __init__(self): self.condition_mgr = ConditionMgr() self.cache_store = DebuggerCache() self.grpc_server = DebuggerGrpcServer(self.cache_store, self.condition_mgr) @@ -111,7 +110,7 @@ class DebuggerServer: def start(self): """Start server.""" - grpc_port = self.grpc_port if self.grpc_port else "50051" + grpc_port = settings.DEBUGGER_PORT if hasattr(settings, 'DEBUGGER_PORT') else 50051 host = settings.HOST if hasattr(settings, 'HOST') else '[::]' hostname = "{}:{}".format(host, grpc_port) # initialize a grpc server diff --git a/mindinsight/scripts/start.py b/mindinsight/scripts/start.py index 3fc0f900..74c8fe5b 100644 --- a/mindinsight/scripts/start.py +++ b/mindinsight/scripts/start.py @@ -260,11 +260,15 @@ class Command(BaseCommand): if not settings.ENABLE_DEBUGGER: return ip = settings.HOST - port = settings.DEBUGGER_PORT + debugger_port = settings.DEBUGGER_PORT + port = settings.PORT + if debugger_port == port: + raise PortNotAvailableError("The ports for debugger and web page are both %s," + "please use another port as debugger-port." % debugger_port) s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) try: - s.connect((ip, int(port))) + s.connect((ip, debugger_port)) s.shutdown(2) - raise PortNotAvailableError(f'Debugger-port {ip}:{port} is not available for MindInsight') + raise PortNotAvailableError(f'Debugger-port {ip}:{debugger_port} is not available for MindInsight') except socket.error: return