Save metadata and clean up resources.
(self)
| 305 | return self.matrices |
| 306 | |
| 307 | def end(self): |
| 308 | """Save metadata and clean up resources.""" |
| 309 | self._save() |
| 310 | self.logger.info(f"Matrix evaluation results saved to {self.output_file}") |
| 311 | |
| 312 | # Clean up all game workers |
| 313 | for i, game in enumerate(self.game_pool): |
| 314 | try: |
| 315 | game.end(cleanup=True) |
| 316 | self.logger.debug(f"Cleaned up game worker {i}") |
| 317 | except Exception as e: |
| 318 | self.logger.warning(f"Error cleaning up game worker {i}: {e}") |
| 319 | |
| 320 | self.logger.info("All game workers cleaned up") |
| 321 | |
| 322 | |
| 323 | def main(pvp_output_dir: Path, n_repetitions: int = 3, max_workers: int = 4): |
no test coverage detected