diff --git a/Html/apps/extension_ase/ase_client/client.py b/Html/apps/extension_ase/ase_client/client.py
index 1e23ba7..967c885 100644
--- a/Html/apps/extension_ase/ase_client/client.py
+++ b/Html/apps/extension_ase/ase_client/client.py
@@ -433,25 +433,26 @@ class HSAEngineClient(ASEngineClient):
super().__init__(server_url, namespace, id)
self.chatmanager = chatmanager
def loadmarkdown(self, fmd, fmdp, fsp):
- now = time.time()
- # 并行发送三个消息,获取事件对象和ack_id
- event1, ack_id1 = self.send_text('markdown-in', fmd, self.id, wait_for_ack=True, return_event=True)
- event2, ack_id2 = self.send_text('markdown-prompt-in', fmdp, self.id, wait_for_ack=True, return_event=True)
- event3, ack_id3 = self.send_text('score-prompt-in', fsp, self.id, wait_for_ack=True, return_event=True)
- self.chatmanager.app.logger.info(f"Load markdown time cost: {time.time() - now}")
- now = time.time()
- # 等待所有事件完成
- timeout = 5 # 超时时间
- success1 = event1.wait(timeout=timeout)
- success2 = event2.wait(timeout=timeout)
- success3 = event3.wait(timeout=timeout)
- self.chatmanager.app.logger.info(f"Wait markdown time cost: {time.time() - now}")
- now = time.time()
- # 清理ACK事件
- if ack_id1 in self.ack_events:
- del self.ack_events[ack_id1]
- if ack_id2 in self.ack_events:
- del self.ack_events[ack_id2]
- if ack_id3 in self.ack_events:
- del self.ack_events[ack_id3]
- return success1 and success2 and success3
+ with self.chatmanager.app.app_context():
+ now = time.time()
+ # 并行发送三个消息,获取事件对象和ack_id
+ event1, ack_id1 = self.send_text('markdown-in', fmd, self.id, wait_for_ack=True, return_event=True)
+ event2, ack_id2 = self.send_text('markdown-prompt-in', fmdp, self.id, wait_for_ack=True, return_event=True)
+ event3, ack_id3 = self.send_text('score-prompt-in', fsp, self.id, wait_for_ack=True, return_event=True)
+ self.chatmanager.app.logger.info(f"Load markdown time cost: {time.time() - now}")
+ now = time.time()
+ # 等待所有事件完成
+ timeout = 5 # 超时时间
+ success1 = event1.wait(timeout=timeout)
+ success2 = event2.wait(timeout=timeout)
+ success3 = event3.wait(timeout=timeout)
+ self.chatmanager.app.logger.info(f"Wait markdown time cost: {time.time() - now}")
+ now = time.time()
+ # 清理ACK事件
+ if ack_id1 in self.ack_events:
+ del self.ack_events[ack_id1]
+ if ack_id2 in self.ack_events:
+ del self.ack_events[ack_id2]
+ if ack_id3 in self.ack_events:
+ del self.ack_events[ack_id3]
+ return success1 and success2 and success3