(progress: int, message: str)
| 121 | task = self._tasks.get(task_id) |
| 122 | |
| 123 | def callback(progress: int, message: str): |
| 124 | if task: |
| 125 | task.progress = progress |
| 126 | task.message = message |
| 127 | |
| 128 | # Broadcast to all subscribers |
| 129 | asyncio.create_task( |
| 130 | self._broadcast( |
| 131 | task_id, |
| 132 | { |
| 133 | "type": "progress", |
| 134 | "task_id": task_id, |
| 135 | "progress": progress, |
| 136 | "message": message, |
| 137 | "timestamp": datetime.utcnow().isoformat(), |
| 138 | }, |
| 139 | ) |
| 140 | ) |
| 141 | |
| 142 | return callback |
| 143 |
nothing calls this directly
no test coverage detected