Milvus-Server / milvus_singleton.py
ruslanmv's picture
Update milvus_singleton.py
f496b94
raw
history blame
985 Bytes
from pymilvus import connections
from pymilvus.exceptions import ConnectionConfigException
class MilvusClientSingleton:
_instance = None
@staticmethod
def get_instance(uri):
if MilvusClientSingleton._instance is None:
MilvusClientSingleton(uri)
return MilvusClientSingleton._instance
def __init__(self, uri):
if MilvusClientSingleton._instance is not None:
raise Exception("This class is a singleton!")
try:
# Use connections.connect() to establish the connection
connections.connect(uri=uri)
self._instance = connections # Store the connections object
print(f"Successfully connected to Milvus at {uri}")
except ConnectionConfigException as e:
print(f"Error connecting to Milvus: {e}")
raise
def __getattr__(self, name):
# Delegate attribute access to the default connection
return getattr(connections, name)