SIENTIAPDE-1049Enhance OPC connection handling with error logging and update branch in values.yaml

This commit is contained in:
vitor-aignosi
2025-05-19 17:06:29 -03:00
parent c13d7cf391
commit 9196861033
3 changed files with 28 additions and 11 deletions

View File

@@ -146,15 +146,25 @@ class IngestorManager():
f"Desconnecting from server."
)
opc_manager.disconnect()
self.opc_managers[server] = self.initialize_opc_from_config(
opc_manager.config, self.data_manager, self.logger
self.logger.warning(
f"Reconnecting to OPC server {server}"
)
self.update_opc_servers()
for slot, slot_config in self.managed_tags.items():
if server in slot_config:
self.manage_server(
slot, server, slot_config[server], slot_config[server]['tags']
)
try:
self.opc_managers[server] = self.initialize_opc_from_config(
opc_manager.config, self.data_manager, self.logger
)
except Exception as e:
self.logger.error(
f"Failed to reconnect to OPC server {server}: {e}"
)
else:
self.update_opc_servers()
for slot, slot_config in self.managed_tags.items():
if server in slot_config:
self.manage_server(
slot, server, slot_config[server], slot_config[server]['tags']
)
def declare_active(self):
"""

View File

@@ -190,11 +190,18 @@ class OpcManager():
try:
[self.subscriptions[sub].delete() for sub in self.subscriptions]
self.logger.warning("Deleted all subscriptions.")
except Exception as sub_error:
self.logger.error(f"Failed to clean up subscription: {sub_error}")
try:
self.client.disconnect()
except Exception as conn_error:
self.logger.error(
f"Failed to disconnect from OPC UA server: {conn_error}")
finally:
del self.client
self.client = None
self.logger.warning("Disconnected from OPC UA server.")
except Exception as sub_error:
self.logger.error(f"Failed to clean up subscription: {sub_error}")
def datachange_notification(self, node, _val, data):
"""