From 20977e096710ce673598bdc234f376d6d9c90253 Mon Sep 17 00:00:00 2001 From: Russell Ballestrini Date: Thu, 20 Mar 2025 04:11:45 +0000 Subject: [PATCH] Update slop_with_models.py --- slop_with_models.py | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/slop_with_models.py b/slop_with_models.py index e1f4521..4895720 100644 --- a/slop_with_models.py +++ b/slop_with_models.py @@ -8,10 +8,12 @@ import logging from flask_swagger_ui import get_swaggerui_blueprint # Configure logging +DATA_DIR = "data" +LOG_FILE = os.path.join(DATA_DIR, "slop_with_models.log") logging.basicConfig( level=logging.DEBUG, format="%(asctime)s - %(levelname)s - %(message)s", - handlers=[logging.FileHandler("slop_with_models.log"), logging.StreamHandler()] + handlers=[logging.FileHandler(LOG_FILE), logging.StreamHandler()] ) logger = logging.getLogger(__name__) @@ -29,11 +31,6 @@ app.register_blueprint(swaggerui_blueprint, url_prefix=SWAGGER_URL) MODEL_CLIENT_MAP = {} # Memory setup -DATA_DIR = "data" - -# Memory endpoints with lock and timeout -# Seconds to wait for lock acquisition -LOCK_TIMEOUT = 2 MEMORY_FILE = os.path.join(DATA_DIR, "memory.json") memory_lock = Lock() @@ -50,7 +47,7 @@ def load_memory_from_file(): data = json.load(f) logger.debug(f"Loaded memory from {MEMORY_FILE}: {data}") return data - logger.info(f"No memory file found at {MEMORY_FILE}, starting with empty memory") + logger.debug(f"No memory file found at {MEMORY_FILE}, returning empty dict") return {} except Exception as e: logger.error(f"Error loading memory from {MEMORY_FILE}: {str(e)}", exc_info=True) @@ -64,10 +61,6 @@ def save_memory_to_file(memory_data): except Exception as e: logger.error(f"Error saving memory to {MEMORY_FILE}: {str(e)}", exc_info=True) -# Initialize memory from file -memory = load_memory_from_file() -logger.info("Memory initialized from file") - # Load endpoints ENDPOINTS = [] for i in range(1000): @@ -132,6 +125,9 @@ tools = { } resources = {"hello": {"id": "hello", "content": "Hello, SLOP!"}} +# Memory endpoints with lock and timeout +LOCK_TIMEOUT = 2 # Seconds to wait for lock acquisition + @app.route("/memory", methods=["POST"]) def store_memory(): logger.info("Received /memory POST request") @@ -143,6 +139,7 @@ def store_memory(): key, value = data["key"], data["value"] if memory_lock.acquire(timeout=LOCK_TIMEOUT): try: + memory = load_memory_from_file() # Always load fresh state memory[key] = value save_memory_to_file(memory) logger.info(f"Stored in memory: {key} = {value}") @@ -159,6 +156,7 @@ def get_memory(key): logger.info(f"Received /memory/{key} GET request") if memory_lock.acquire(timeout=LOCK_TIMEOUT): try: + memory = load_memory_from_file() # Always load fresh state value = memory.get(key) logger.debug(f"Retrieved memory for {key}: {value}") if value is None: @@ -175,6 +173,7 @@ def list_memory(): logger.info("Received /memory GET request") if memory_lock.acquire(timeout=LOCK_TIMEOUT): try: + memory = load_memory_from_file() # Always load fresh state keys = list(memory.keys()) memory_state = memory.copy() logger.debug(f"Memory keys: {keys}") @@ -191,6 +190,7 @@ def delete_memory(key): logger.info(f"Received /memory/{key} DELETE request") if memory_lock.acquire(timeout=LOCK_TIMEOUT): try: + memory = load_memory_from_file() # Always load fresh state if key not in memory: logger.warning(f"Key not found for deletion: {key}") return jsonify({"error": "Key not found"}), 404