ソースを参照

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

tags/0.9.0
zhuhao 1年前
コミット
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):

読み込み中…
キャンセル
保存