Milvus-Server / milvus_singleton.py
ruslanmv's picture
updates
f72d2d6
raw
history blame
909 Bytes
from pymilvus import Milvus, 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 the regular Milvus client (not MilvusClient)
self._instance = Milvus(uri=uri)
print(f"Successfully connected to Milvus at {uri}")
except ConnectionConfigException as e:
print(f"Error connecting to Milvus: {e}")
raise # Re-raise the exception to stop initialization
def __getattr__(self, name):
return getattr(self._instance, name)