Status information for all processes in a group.
| 78 | |
| 79 | @dataclass |
| 80 | class GroupStatus: |
| 81 | """Status information for all processes in a group.""" |
| 82 | |
| 83 | group_name: str |
| 84 | processes: list[ProcessStatus] |
| 85 | total_processes: int |
| 86 | completed_processes: int |
| 87 | failed_processes: int |
| 88 | |
| 89 | @property |
| 90 | def completion_percentage(self) -> float: |
| 91 | """Percentage of processes completed.""" |
| 92 | if self.total_processes == 0: |
| 93 | return 100.0 |
| 94 | return (self.completed_processes / self.total_processes) * 100.0 |
| 95 | |
| 96 | |
| 97 | @dataclass |