🔨 refactor(base.py): remove inheritance of Service class from BaseCacheManager to simplify class hierarchy
🔨 refactor(factory.py): add type hinting for settings_manager parameter in create method of CacheManagerFactory 🔨 refactor(manager.py): remove inheritance of Service class from InMemoryCache and RedisCache to simplify class hierarchy
This commit is contained in:
parent
b6fa053291
commit
d508a1407c
3 changed files with 9 additions and 6 deletions
4
src/backend/langflow/services/cache/base.py
vendored
4
src/backend/langflow/services/cache/base.py
vendored
|
|
@ -1,9 +1,7 @@
|
||||||
import abc
|
import abc
|
||||||
|
|
||||||
from langflow.services.base import Service
|
|
||||||
|
|
||||||
|
class BaseCacheManager(abc.ABC):
|
||||||
class BaseCacheManager(abc.ABC, Service):
|
|
||||||
"""
|
"""
|
||||||
Abstract base class for a cache.
|
Abstract base class for a cache.
|
||||||
"""
|
"""
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,17 @@
|
||||||
from langflow.services.cache.manager import InMemoryCache, RedisCache, BaseCacheManager
|
from langflow.services.cache.manager import InMemoryCache, RedisCache, BaseCacheManager
|
||||||
from langflow.services.factory import ServiceFactory
|
from langflow.services.factory import ServiceFactory
|
||||||
from langflow.utils.logger import logger
|
from langflow.utils.logger import logger
|
||||||
|
from typing import TYPE_CHECKING
|
||||||
|
|
||||||
|
if TYPE_CHECKING:
|
||||||
|
from langflow.services.settings.manager import SettingsManager
|
||||||
|
|
||||||
|
|
||||||
class CacheManagerFactory(ServiceFactory):
|
class CacheManagerFactory(ServiceFactory):
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
super().__init__(BaseCacheManager)
|
super().__init__(BaseCacheManager)
|
||||||
|
|
||||||
def create(self, settings_manager):
|
def create(self, settings_manager: "SettingsManager"):
|
||||||
# Here you would have logic to create and configure a CacheManager
|
# Here you would have logic to create and configure a CacheManager
|
||||||
# based on the settings_service
|
# based on the settings_service
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,14 @@
|
||||||
import threading
|
import threading
|
||||||
import time
|
import time
|
||||||
from collections import OrderedDict
|
from collections import OrderedDict
|
||||||
|
from langflow.services.base import Service
|
||||||
|
|
||||||
from langflow.services.cache.base import BaseCacheManager
|
from langflow.services.cache.base import BaseCacheManager
|
||||||
|
|
||||||
import pickle
|
import pickle
|
||||||
|
|
||||||
|
|
||||||
class InMemoryCache(BaseCacheManager):
|
class InMemoryCache(BaseCacheManager, Service):
|
||||||
|
|
||||||
"""
|
"""
|
||||||
A simple in-memory cache using an OrderedDict.
|
A simple in-memory cache using an OrderedDict.
|
||||||
|
|
@ -175,7 +176,7 @@ class InMemoryCache(BaseCacheManager):
|
||||||
return f"InMemoryCache(max_size={self.max_size}, expiration_time={self.expiration_time})"
|
return f"InMemoryCache(max_size={self.max_size}, expiration_time={self.expiration_time})"
|
||||||
|
|
||||||
|
|
||||||
class RedisCache(BaseCacheManager):
|
class RedisCache(BaseCacheManager, Service):
|
||||||
"""
|
"""
|
||||||
A Redis-based cache implementation.
|
A Redis-based cache implementation.
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue