fix: Check protocol server status before attempting connections in signals endpoint

- Added check for settings.opcua_enabled and settings.modbus_enabled before initializing ProtocolDataCollector
- This prevents connection attempts when protocol servers are disabled in production
- Reduces error logs and improves performance
This commit is contained in:
openhands 2025-11-01 16:10:55 +00:00
parent 3d2abe9e70
commit 98a3254c88
1 changed files with 30 additions and 24 deletions

View File

@ -620,6 +620,8 @@ async def get_signals():
signals = []
# Check if protocol servers are enabled before trying to connect
if settings.opcua_enabled or settings.modbus_enabled:
# Try to get data from protocol servers, fallback to mock data if servers are not available
try:
# Initialize protocol data collector
@ -648,6 +650,10 @@ async def get_signals():
logger.error("failed_to_get_protocol_data", error=str(e), fallback="using_mock_data")
# Fallback to mock data
signals = await _generate_mock_signals(stations, pumps_by_station)
else:
# Protocol servers are disabled, use mock data
logger.info("protocol_servers_disabled", fallback="using_mock_data")
signals = await _generate_mock_signals(stations, pumps_by_station)
# Add system status signals
signals.extend([