fix: Make the latency and logs of web applications consistent. (#21578)
Co-authored-by: 刘江波 <jiangbo721@163.com>
This commit is contained in:
@@ -395,6 +395,7 @@ class EasyUIBasedGenerateTaskPipeline(BasedGenerateTaskPipeline):
|
|||||||
message.provider_response_latency = time.perf_counter() - self._start_at
|
message.provider_response_latency = time.perf_counter() - self._start_at
|
||||||
message.total_price = usage.total_price
|
message.total_price = usage.total_price
|
||||||
message.currency = usage.currency
|
message.currency = usage.currency
|
||||||
|
self._task_state.llm_result.usage.latency = message.provider_response_latency
|
||||||
message.message_metadata = self._task_state.metadata.model_dump_json()
|
message.message_metadata = self._task_state.metadata.model_dump_json()
|
||||||
|
|
||||||
if trace_manager:
|
if trace_manager:
|
||||||
|
@@ -27,6 +27,7 @@ from core.workflow.enums import SystemVariableKey
|
|||||||
from core.workflow.repositories.workflow_execution_repository import WorkflowExecutionRepository
|
from core.workflow.repositories.workflow_execution_repository import WorkflowExecutionRepository
|
||||||
from core.workflow.repositories.workflow_node_execution_repository import WorkflowNodeExecutionRepository
|
from core.workflow.repositories.workflow_node_execution_repository import WorkflowNodeExecutionRepository
|
||||||
from core.workflow.workflow_entry import WorkflowEntry
|
from core.workflow.workflow_entry import WorkflowEntry
|
||||||
|
from libs.datetime_utils import naive_utc_now
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
@@ -160,12 +161,13 @@ class WorkflowCycleManager:
|
|||||||
exceptions_count: int = 0,
|
exceptions_count: int = 0,
|
||||||
) -> WorkflowExecution:
|
) -> WorkflowExecution:
|
||||||
workflow_execution = self._get_workflow_execution_or_raise_error(workflow_run_id)
|
workflow_execution = self._get_workflow_execution_or_raise_error(workflow_run_id)
|
||||||
|
now = naive_utc_now()
|
||||||
|
|
||||||
workflow_execution.status = WorkflowExecutionStatus(status.value)
|
workflow_execution.status = WorkflowExecutionStatus(status.value)
|
||||||
workflow_execution.error_message = error_message
|
workflow_execution.error_message = error_message
|
||||||
workflow_execution.total_tokens = total_tokens
|
workflow_execution.total_tokens = total_tokens
|
||||||
workflow_execution.total_steps = total_steps
|
workflow_execution.total_steps = total_steps
|
||||||
workflow_execution.finished_at = datetime.now(UTC).replace(tzinfo=None)
|
workflow_execution.finished_at = now
|
||||||
workflow_execution.exceptions_count = exceptions_count
|
workflow_execution.exceptions_count = exceptions_count
|
||||||
|
|
||||||
# Use the instance repository to find running executions for a workflow run
|
# Use the instance repository to find running executions for a workflow run
|
||||||
@@ -174,7 +176,6 @@ class WorkflowCycleManager:
|
|||||||
)
|
)
|
||||||
|
|
||||||
# Update the domain models
|
# Update the domain models
|
||||||
now = datetime.now(UTC).replace(tzinfo=None)
|
|
||||||
for node_execution in running_node_executions:
|
for node_execution in running_node_executions:
|
||||||
if node_execution.node_execution_id:
|
if node_execution.node_execution_id:
|
||||||
# Update the domain model
|
# Update the domain model
|
||||||
|
Reference in New Issue
Block a user