(&self)
| 1539 | } |
| 1540 | |
| 1541 | async fn shutdown_all(&self) { |
| 1542 | let scheduler_handles: Vec<JoinHandle<()>> = { |
| 1543 | let mut schedulers = self.automation_schedulers.lock().await; |
| 1544 | schedulers.drain().map(|(_, handle)| handle).collect() |
| 1545 | }; |
| 1546 | for handle in scheduler_handles { |
| 1547 | handle.abort(); |
| 1548 | let _ = handle.await; |
| 1549 | } |
| 1550 | |
| 1551 | let servers: Vec<Arc<crate::mcp::McpServer>> = { |
| 1552 | let servers = self.project_servers.lock().await; |
| 1553 | servers.values().cloned().collect() |
| 1554 | }; |
| 1555 | for server in servers { |
| 1556 | server.shutdown().await; |
| 1557 | } |
| 1558 | } |
| 1559 | } |
| 1560 | |
| 1561 | #[cfg(unix)] |
no test coverage detected