(self, task_id: str)
| 140 | return |
| 141 | |
| 142 | task = self._tasks[task_id] |
| 143 | task.status = TaskStatus.FAILED |
| 144 | task.end_time = datetime.now() |
| 145 | task.error = error |
| 146 | task.error_type = error_type |
| 147 | |
| 148 | self.failed_tasks += 1 |
| 149 | self._emit_queue_metrics_unlocked() |
| 150 | |
| 151 | def cancel_task(self, task_id: str) -> bool: |
| 152 | with self._lock: |
| 153 | if task_id not in self._tasks: |
| 154 | return False |
| 155 | |
| 156 | task = self._tasks[task_id] |
| 157 | |
| 158 | if task.status in [TaskStatus.COMPLETED, TaskStatus.FAILED]: |
| 159 | return False |
| 160 | |
| 161 | task.stop_event.set() |
| 162 | task.status = TaskStatus.CANCELLED |
| 163 | task.end_time = datetime.now() |
| 164 | task.error = "Task cancelled by user" |
no test coverage detected