Browse Source

Update agent_service: add no retry exception

StrayWarrior 1 tháng trước cách đây
mục cha
commit
fdfbcd94a6
2 tập tin đã thay đổi với 7 bổ sung5 xóa
  1. 7 5
      pqai_agent/agent_service.py
  2. 0 0
      pqai_agent/exceptions.py

+ 7 - 5
pqai_agent/agent_service.py

@@ -18,6 +18,7 @@ from apscheduler.schedulers.background import BackgroundScheduler
 
 from pqai_agent import configs
 from pqai_agent.configs import apollo_config
+from pqai_agent.exceptions import NoRetryException
 from pqai_agent.logging_service import logger
 from pqai_agent import chat_service
 from pqai_agent.chat_service import CozeChat, ChatServiceType
@@ -30,7 +31,6 @@ from pqai_agent.message_queue_backend import MessageQueueBackend, MemoryQueueBac
 from pqai_agent.user_profile_extractor import UserProfileExtractor
 from pqai_agent.message import MessageType, Message, MessageChannel
 
-
 class AgentService:
     def __init__(
         self,
@@ -152,11 +152,13 @@ class AgentService:
             if message:
                 try:
                     self.process_single_message(message)
+                except NoRetryException as e:
+                    logger.error("Error processing message and skip retry: {}".format(e))
                     self.receive_queue.ack(message)
                 except Exception as e:
-                    logger.error("Error processing message: {}".format(e))
-                    traceback.print_exc()
-            time.sleep(1)
+                    error_stack = traceback.format_exc()
+                    logger.error("Error processing message: {}, {}".format(e, error_stack))
+            time.sleep(0.5)
         logger.info("Message processing thread exit")
 
     def start(self, blocking=False):
@@ -230,7 +232,7 @@ class AgentService:
         agent = self.get_agent_instance(staff_id, user_id)
         if not agent.is_valid():
             logger.error(f"staff[{staff_id}] user[{user_id}]: agent is invalid")
-            return
+            raise Exception('agent is invalid')
 
         # 更新对话状态
         logger.debug("process message: {}".format(message))

+ 0 - 0
pqai_agent/exceptions.py