minitrino.core.exec.container module#

Execute commands inside Docker containers.

class minitrino.core.exec.container.ContainerCommandExecutor(ctx: MinitrinoContext)[source][source]#

Bases: object

Execute commands inside containers.

execute(command: list[str], **kwargs: Any) CommandResult[source][source]#

Execute a command inside a container.

stream_execute(command: list[str], **kwargs: Any) Iterator[str][source][source]#

Stream output from a command inside a container.

stream_execute_with_result(command: list[str], **kwargs: Any) tuple[Iterator[str], Event, Callable[[], CommandResult]][source][source]#

Stream output from a container command with access to exit code.

Returns a tuple of: - Iterator[str]: Yields output lines as they are produced - threading.Event: Signals when the command has completed - Callable[[], CommandResult]: Returns the final CommandResult

This method enables fast failure detection by providing both streaming output and immediate access to command completion status and exit code.

Parameters:
  • command (list[str]) – The command to execute.

  • **kwargs (Any) – Additional keyword arguments including container, user, etc.

Returns:

A tuple containing the output iterator, completion event, and result callable.

Return type:

Tuple[Iterator[str], threading.Event, Callable[[], CommandResult]]