1.添加定时任务(每天凌晨四点处理redis记录的删除,存储入mysql持久化操作)
2.修复了prompt中没有用户输入信息的bug 3.优化了更新类接口代码(删除了db.add()代码)
This commit is contained in:
1 parent
de370f77ac
commit
065528f509
7 files changed
+65
-16
No files matched your search
@@ -0,0 +1,31 @@
|
||||
from .dependencies.database import get_db
|
||||
from .dependencies.redis import get_redis
|
||||
from .dependencies.logger import get_logger
|
||||
from .models import Session
|
||||
from datetime import datetime, timedelta
|
||||
|
||||
logger = get_logger()
|
||||
|
||||
def updating_redis_cache():
|
||||
db = next(get_db())
|
||||
redis = get_redis()
|
||||
current_time = datetime.now()
|
||||
two_days_ago = current_time - timedelta(days=2)
|
||||
db.begin()
|
||||
try:
|
||||
expired_sessions = db.query(Session.id).filter(Session.last_activity < two_days_ago).all()
|
||||
for session_id_tuple in expired_sessions:
|
||||
session_id = session_id_tuple[0]
|
||||
session_content = redis.get(session_id)
|
||||
if session_content is None:
|
||||
logger.error(f"Session {session_id} not found in Redis cache")
|
||||
continue
|
||||
redis.delete(session_id)
|
||||
db.query(Session).filter(Session.id == session_id).update({'content':session_content})
|
||||
db.commit()
|
||||
except Exception as e:
|
||||
db.rollback()
|
||||
raise e
|
||||
finally:
|
||||
db.close()
|
||||
logger.info("Redis cache updated successfully")
|
||||
Reference in new issue
Block a user