Преглед на файлове

refactor(ops): Optimize the iteration for filter_none_values and use logging.error to record logs when an exception occurs (#8461)

zhuhao преди 7 месеца
родител
ревизия
831c5a93af
променени са 3 файла, в които са добавени 8 реда и са изтрити 6 реда
  1. 1 2
      api/core/ops/entities/trace_entity.py
  2. 2 2
      api/core/ops/ops_trace_manager.py
  3. 5 2
      api/core/ops/utils.py

+ 1 - 2
api/core/ops/entities/trace_entity.py

@@ -21,8 +21,7 @@ class BaseTraceInfo(BaseModel):
             return None
         if isinstance(v, str | dict | list):
             return v
-        else:
-            return ""
+        return ""
 
 
 class WorkflowTraceInfo(BaseTraceInfo):

+ 2 - 2
api/core/ops/ops_trace_manager.py

@@ -708,7 +708,7 @@ class TraceQueueManager:
                 trace_task.app_id = self.app_id
                 trace_manager_queue.put(trace_task)
         except Exception as e:
-            logging.debug(f"Error adding trace task: {e}")
+            logging.error(f"Error adding trace task: {e}")
         finally:
             self.start_timer()
 
@@ -727,7 +727,7 @@ class TraceQueueManager:
             if tasks:
                 self.send_to_celery(tasks)
         except Exception as e:
-            logging.debug(f"Error processing trace tasks: {e}")
+            logging.error(f"Error processing trace tasks: {e}")
 
     def start_timer(self):
         global trace_manager_timer

+ 5 - 2
api/core/ops/utils.py

@@ -6,12 +6,15 @@ from models.model import Message
 
 
 def filter_none_values(data: dict):
+    new_data = {}
     for key, value in data.items():
         if value is None:
             continue
         if isinstance(value, datetime):
-            data[key] = value.isoformat()
-    return {key: value for key, value in data.items() if value is not None}
+            new_data[key] = value.isoformat()
+        else:
+            new_data[key] = value
+    return new_data
 
 
 def get_message_data(message_id):