milvus/shards/sd/__init__.py
2019-10-21 16:21:32 +08:00

29 lines
764 B
Python

import logging
import inspect
# from utils import singleton
logger = logging.getLogger(__name__)
class ProviderManager:
PROVIDERS = {}
@classmethod
def register_service_provider(cls, target):
if inspect.isfunction(target):
cls.PROVIDERS[target.__name__] = target
elif inspect.isclass(target):
name = target.__dict__.get('NAME', None)
name = name if name else target.__class__.__name__
cls.PROVIDERS[name] = target
else:
assert False, 'Cannot register_service_provider for: {}'.format(target)
return target
@classmethod
def get_provider(cls, name):
return cls.PROVIDERS.get(name, None)
from sd import kubernetes_provider, static_provider