feat(host-agent): shut down gracefully

This commit is contained in:
2026-07-12 19:47:50 +08:00
parent 91f08509a7
commit b1303569e3
6 changed files with 360 additions and 9 deletions
@@ -11,6 +11,8 @@ from host_agent.client import HostAgentClient
class ActiveAssignmentExecutor(Protocol):
async def run(self, assignment: AssignmentModel) -> AssignmentExecutionResult: ...
def request_stop(self) -> None: ...
@dataclass(frozen=True)
class AssignmentProcessingResult:
@@ -27,6 +29,9 @@ class AssignmentProcessor:
self.client = client
self.active_executor = active_executor
def request_stop(self) -> None:
self.active_executor.request_stop()
async def process(self, assignment: AssignmentModel) -> AssignmentProcessingResult:
execution = await self.active_executor.run(assignment)
status = "done" if execution.status == "done" else "failed"