diff --git a/test-test/src/main/java/com/test/test/controller/PerformanceTestController.java b/test-test/src/main/java/com/test/test/controller/PerformanceTestController.java index 102eda1..32fc480 100644 --- a/test-test/src/main/java/com/test/test/controller/PerformanceTestController.java +++ b/test-test/src/main/java/com/test/test/controller/PerformanceTestController.java @@ -212,11 +212,12 @@ public class PerformanceTestController extends BaseController { @Log(title = "性能测试", businessType = BusinessType.UPDATE) @PutMapping("/{ids}") public AjaxResult remove(@PathVariable Long[] ids) { + dynamicTaskManager.removeTasks(ids); return toAjax(performanceTestService.deletePerformanceTestByIds(ids)); } /** - * 删除性能测试 + * 立即执行性能测试 */ // @PreAuthorize("@ss.hasPermi('system:test:remove')") @GetMapping("/executeNow") diff --git a/test-test/src/main/java/com/test/test/task/DynamicTaskManager.java b/test-test/src/main/java/com/test/test/task/DynamicTaskManager.java index 8eff020..632ee0c 100644 --- a/test-test/src/main/java/com/test/test/task/DynamicTaskManager.java +++ b/test-test/src/main/java/com/test/test/task/DynamicTaskManager.java @@ -75,6 +75,28 @@ public class DynamicTaskManager { } } + /** + * 移除定时任务 + * @param taskId 任务ID + */ + public void removeTask(Long taskId) { + if (scheduledTasks.containsKey(taskId)) { + scheduledTasks.get(taskId).cancel(true); + scheduledTasks.remove(taskId); + taskCache.remove(taskId); + log.info("已移除定时任务: {}", taskId); + } + } + /** + * 批量移除定时任务 + * @param taskIds 任务ID数组 + */ + public void removeTasks(Long[] taskIds) { + for (Long taskId : taskIds) { + removeTask(taskId); + } + } + private void loadTasks() { PerformanceTest performanceTest =new PerformanceTest(); performanceTest.setCrontabStatus(1);