feat(host-agent): shut down gracefully
This commit is contained in:
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user