|
@@ -102,7 +102,7 @@ class DialogueStateCache:
|
|
|
|
|
|
class DialogueManager:
|
|
|
def __init__(self, staff_id: str, user_id: str, user_manager: UserManager, state_cache: DialogueStateCache,
|
|
|
- AgentDBSession: sessionmaker[Session]):
|
|
|
+ agent_db_session_maker: sessionmaker[Session]):
|
|
|
config = configs.get()
|
|
|
|
|
|
self.staff_id = staff_id
|
|
@@ -125,7 +125,7 @@ class DialogueManager:
|
|
|
self.history_dialogue_service = HistoryDialogueService(
|
|
|
config['storage']['history_dialogue']['api_base_url']
|
|
|
)
|
|
|
- self.AgentDBSession = AgentDBSession
|
|
|
+ self.agent_db_session_maker = agent_db_session_maker
|
|
|
self._recover_state()
|
|
|
# 由于本地状态管理过于复杂,引入事务机制做状态回滚
|
|
|
self._uncommited_state_change = []
|
|
@@ -174,7 +174,7 @@ class DialogueManager:
|
|
|
else:
|
|
|
# 默认设置
|
|
|
self.last_interaction_time_ms = int(time.time() * 1000) - minutes_to_get * 60 * 1000
|
|
|
- with self.AgentDBSession() as session:
|
|
|
+ with self.agent_db_session_maker() as session:
|
|
|
# 读取数据库中的最后一次交互时间
|
|
|
query = session.query(AgentPushRecord).filter(
|
|
|
AgentPushRecord.staff_id == self.staff_id,
|