Update aop.py

pull/1185/head
CI-DEV 2 months ago committed by GitHub
parent f0ce3e5da0
commit cadde7423d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -2711,6 +2711,13 @@ class AOP:
self.mcp_server.run(transport=self.transport) self.mcp_server.run(transport=self.transport)
except KeyboardInterrupt: except KeyboardInterrupt:
logger.info("Server interrupted by user") logger.info("Server interrupted by user")
except (OSError, socket.error) as e:
error_msg = str(e).lower()
if "address already in use" in error_msg or "errno 98" in error_msg:
logger.error(
f"Port {self.port} is already in use. Please use a different port or stop the process using this port."
)
raise
finally: finally:
# Clean up queues when server stops # Clean up queues when server stops
if self.queue_enabled: if self.queue_enabled:
@ -2743,7 +2750,32 @@ class AOP:
""" """
if not self._persistence_enabled: if not self._persistence_enabled:
# Standard run without persistence # Standard run without persistence
self.start_server() try:
self.start_server()
except Exception as e:
if self._is_network_error(e):
if self.network_monitoring:
logger.error(
f"Network error during server start: {e}"
)
if self._handle_network_error(e):
try:
self.start_server()
return
except Exception as retry_error:
logger.error(
f"Server failed after network recovery: {retry_error}"
)
raise
else:
raise
else:
logger.error(
f"Network error but network monitoring is disabled: {e}"
)
raise
else:
raise
return return
# Persistence-enabled run # Persistence-enabled run
@ -2908,6 +2940,9 @@ class AOP:
"aborted", "aborted",
"unreachable", "unreachable",
"timeout", "timeout",
"address already in use",
"errno 98",
"bind",
] ]
return any( return any(

Loading…
Cancel
Save