llm-ready-data / app /core /scripts.py
light-infer-chat's picture
ok
2ebf97a
Raw
History Blame Contribute Delete
819 Bytes
from __future__ import annotations
import logging
from pathlib import Path
from typing import Dict, Optional
from redis.asyncio import Redis
logger = logging.getLogger(__name__)
LUA_DIR = Path(__file__).resolve().parent.parent.parent / "lua"
def load_lua(filename: str) -> str:
path = LUA_DIR / filename
return path.read_text(encoding="utf-8")
async def load_scripts(redis: Optional[Redis]) -> Dict[str, str]:
if not redis:
logger.warning("Redis not available, Lua scripts not loaded")
return {}
acquire_slot_sha = await redis.script_load(load_lua("acquire_slot.lua"))
lock_key_sha = await redis.script_load(load_lua("lock_key.lua"))
logger.info("Lua scripts loaded")
return {
"acquire_slot_sha": acquire_slot_sha,
"lock_key_sha": lock_key_sha,
}