[BugFix] fix init RequestOutput (#5419)

* fix init RequestOutput

* up

* fix

* fix
This commit is contained in:
Juncai
2025-12-09 10:20:22 +08:00
committed by GitHub
parent 02df3c5097
commit a8ffc22032
2 changed files with 15 additions and 3 deletions

View File

@@ -344,7 +344,9 @@ class EngineService:
for task in tasks:
if self.cfg.scheduler_config.splitwise_role != "mixed":
status, msg = self.split_connector.check_decode_allocated(task)
if not status:
if status:
task.metrics.ask_decode_resource_finish_time = time.time()
else:
self.llm_logger.error(f"{task.request_id} prefill failed with msg:{msg}.")
self.scheduler.put_results(
[
@@ -660,6 +662,8 @@ class EngineService:
llm_logger.debug(f"get tasks from scheduler: {tasks}")
if self.cfg.scheduler_config.splitwise_role != "mixed":
for task in tasks:
task.metrics.ask_decode_resource_start_time = time.time()
self.split_connector.send_splitwise_tasks(tasks, current_id)
insert_successful = self.insert_tasks(tasks, current_id)

View File

@@ -677,8 +677,16 @@ class RequestOutput:
@classmethod
def from_dict(cls, d: dict):
"""Create instance from dict arguments"""
completion_output = CompletionOutput.from_dict(d.pop("outputs"))
metrics = RequestMetrics.from_dict(d.pop("metrics"))
if "outputs" in d and isinstance(d["outputs"], dict):
completion_output = CompletionOutput.from_dict(d.pop("outputs"))
else:
d.pop("outputs", None)
completion_output = None
if "metrics" in d and isinstance(d["metrics"], dict):
metrics = RequestMetrics.from_dict(d.pop("metrics"))
else:
d.pop("metrics", None)
metrics = None
return RequestOutput(**d, outputs=completion_output, metrics=metrics)
def to_dict(self):