refactor(gateway): drop dead error_stack and unused metadata from OpcConnectionPool (ponytail)

This commit is contained in:
PedroHMCosme
2026-07-14 10:06:59 -03:00
parent 0b29857089
commit b57be9f5fe
2 changed files with 2 additions and 11 deletions

View File

@@ -1,5 +1,4 @@
import asyncio
import traceback
from asyncua import Client
from sientia_do.notifications.handlers import CoreNotificationHandler as NotificationHandler
@@ -23,10 +22,8 @@ class OpcConnectionPool(SientiaMonitoring):
logger: Logger,
notification_handler: NotificationHandler,
metrics_controller: MetricsController,
metadata: dict | None = None,
):
self.cert_provider = cert_provider
self.metadata = metadata or {}
self.clock = MonotonicClock()
self._connections: dict[str, tuple[Client, float]] = {}
# ponytail: one Lock per server_id, never cleaned up — server set is
@@ -119,20 +116,15 @@ class OpcConnectionPool(SientiaMonitoring):
tags={'pod_id': self.pod_id, 'server_name': server_id},
)
async def _disconnect_with_retries(self, client: Client, server_id: str) -> list:
async def _disconnect_with_retries(self, client: Client, server_id: str) -> None:
"""Tries 5 times to disconnect, with a delay of 100ms x try (mirrors
OpcManager.disconnection_fallback)."""
error_stack = []
for i in range(5):
try:
await client.disconnect()
return []
return
except Exception as e:
self.logger.error(
f'Failed to disconnect from {server_id}, attempt {i + 1} of 5: {e}'
)
error_stack.append(
{'attempt': i + 1, 'error': str(e), 'traceback': traceback.format_exc()}
)
await asyncio.sleep(0.1 * i)
return error_stack