Initialize a new process group. Args: processes: List of RunningProcess instances to manage config: Configuration for execution behavior name: Name for this process group (used for logging)
(
self,
processes: Optional[list[RunningProcess]] = None,
config: Optional[ProcessExecutionConfig] = None,
name: str = "ProcessGroup",
)
| 114 | """Manages execution of a group of RunningProcess instances.""" |
| 115 | |
| 116 | def __init__( |
| 117 | self, |
| 118 | processes: Optional[list[RunningProcess]] = None, |
| 119 | config: Optional[ProcessExecutionConfig] = None, |
| 120 | name: str = "ProcessGroup", |
| 121 | ): |
| 122 | """Initialize a new process group. |
| 123 | |
| 124 | Args: |
| 125 | processes: List of RunningProcess instances to manage |
| 126 | config: Configuration for execution behavior |
| 127 | name: Name for this process group (used for logging) |
| 128 | """ |
| 129 | self.processes = processes or [] |
| 130 | self.config = config or ProcessExecutionConfig() |
| 131 | self.name = name |
| 132 | self._dependencies: dict[RunningProcess, list[RunningProcess]] = {} |
| 133 | |
| 134 | # Status tracking |
| 135 | self._process_start_times: dict[RunningProcess, datetime] = {} |
| 136 | self._process_last_output: dict[RunningProcess, str] = {} |
| 137 | self._status_monitoring_active: bool = False |
| 138 | |
| 139 | def add_process(self, process: RunningProcess) -> None: |
| 140 | """Add a process to the group. |
nothing calls this directly
no test coverage detected