Update slop_with_models.py
This commit is contained in:
parent
2999b83177
commit
20977e0967
1 changed files with 11 additions and 11 deletions
|
|
@ -8,10 +8,12 @@ import logging
|
||||||
from flask_swagger_ui import get_swaggerui_blueprint
|
from flask_swagger_ui import get_swaggerui_blueprint
|
||||||
|
|
||||||
# Configure logging
|
# Configure logging
|
||||||
|
DATA_DIR = "data"
|
||||||
|
LOG_FILE = os.path.join(DATA_DIR, "slop_with_models.log")
|
||||||
logging.basicConfig(
|
logging.basicConfig(
|
||||||
level=logging.DEBUG,
|
level=logging.DEBUG,
|
||||||
format="%(asctime)s - %(levelname)s - %(message)s",
|
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__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
@ -29,11 +31,6 @@ app.register_blueprint(swaggerui_blueprint, url_prefix=SWAGGER_URL)
|
||||||
MODEL_CLIENT_MAP = {}
|
MODEL_CLIENT_MAP = {}
|
||||||
|
|
||||||
# Memory setup
|
# 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_FILE = os.path.join(DATA_DIR, "memory.json")
|
||||||
memory_lock = Lock()
|
memory_lock = Lock()
|
||||||
|
|
||||||
|
|
@ -50,7 +47,7 @@ def load_memory_from_file():
|
||||||
data = json.load(f)
|
data = json.load(f)
|
||||||
logger.debug(f"Loaded memory from {MEMORY_FILE}: {data}")
|
logger.debug(f"Loaded memory from {MEMORY_FILE}: {data}")
|
||||||
return 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 {}
|
return {}
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.error(f"Error loading memory from {MEMORY_FILE}: {str(e)}", exc_info=True)
|
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:
|
except Exception as e:
|
||||||
logger.error(f"Error saving memory to {MEMORY_FILE}: {str(e)}", exc_info=True)
|
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
|
# Load endpoints
|
||||||
ENDPOINTS = []
|
ENDPOINTS = []
|
||||||
for i in range(1000):
|
for i in range(1000):
|
||||||
|
|
@ -132,6 +125,9 @@ tools = {
|
||||||
}
|
}
|
||||||
resources = {"hello": {"id": "hello", "content": "Hello, SLOP!"}}
|
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"])
|
@app.route("/memory", methods=["POST"])
|
||||||
def store_memory():
|
def store_memory():
|
||||||
logger.info("Received /memory POST request")
|
logger.info("Received /memory POST request")
|
||||||
|
|
@ -143,6 +139,7 @@ def store_memory():
|
||||||
key, value = data["key"], data["value"]
|
key, value = data["key"], data["value"]
|
||||||
if memory_lock.acquire(timeout=LOCK_TIMEOUT):
|
if memory_lock.acquire(timeout=LOCK_TIMEOUT):
|
||||||
try:
|
try:
|
||||||
|
memory = load_memory_from_file() # Always load fresh state
|
||||||
memory[key] = value
|
memory[key] = value
|
||||||
save_memory_to_file(memory)
|
save_memory_to_file(memory)
|
||||||
logger.info(f"Stored in memory: {key} = {value}")
|
logger.info(f"Stored in memory: {key} = {value}")
|
||||||
|
|
@ -159,6 +156,7 @@ def get_memory(key):
|
||||||
logger.info(f"Received /memory/{key} GET request")
|
logger.info(f"Received /memory/{key} GET request")
|
||||||
if memory_lock.acquire(timeout=LOCK_TIMEOUT):
|
if memory_lock.acquire(timeout=LOCK_TIMEOUT):
|
||||||
try:
|
try:
|
||||||
|
memory = load_memory_from_file() # Always load fresh state
|
||||||
value = memory.get(key)
|
value = memory.get(key)
|
||||||
logger.debug(f"Retrieved memory for {key}: {value}")
|
logger.debug(f"Retrieved memory for {key}: {value}")
|
||||||
if value is None:
|
if value is None:
|
||||||
|
|
@ -175,6 +173,7 @@ def list_memory():
|
||||||
logger.info("Received /memory GET request")
|
logger.info("Received /memory GET request")
|
||||||
if memory_lock.acquire(timeout=LOCK_TIMEOUT):
|
if memory_lock.acquire(timeout=LOCK_TIMEOUT):
|
||||||
try:
|
try:
|
||||||
|
memory = load_memory_from_file() # Always load fresh state
|
||||||
keys = list(memory.keys())
|
keys = list(memory.keys())
|
||||||
memory_state = memory.copy()
|
memory_state = memory.copy()
|
||||||
logger.debug(f"Memory keys: {keys}")
|
logger.debug(f"Memory keys: {keys}")
|
||||||
|
|
@ -191,6 +190,7 @@ def delete_memory(key):
|
||||||
logger.info(f"Received /memory/{key} DELETE request")
|
logger.info(f"Received /memory/{key} DELETE request")
|
||||||
if memory_lock.acquire(timeout=LOCK_TIMEOUT):
|
if memory_lock.acquire(timeout=LOCK_TIMEOUT):
|
||||||
try:
|
try:
|
||||||
|
memory = load_memory_from_file() # Always load fresh state
|
||||||
if key not in memory:
|
if key not in memory:
|
||||||
logger.warning(f"Key not found for deletion: {key}")
|
logger.warning(f"Key not found for deletion: {key}")
|
||||||
return jsonify({"error": "Key not found"}), 404
|
return jsonify({"error": "Key not found"}), 404
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue