refactor(task): 重构任务监控界面和任务调度逻辑

- 将任务监控界面改为TabPane布局,优化UI结构
- 重构任务调度逻辑,使用统一的ExecutorService
- 修改TaskStatus枚举,将UN_SCHEDULED改为DELAYED
- 优化MonitoredTask实现,改进任务状态管理
- 移除冗余代码,清理无用导入
- 添加调试日志配置
This commit is contained in:
2025-08-22 22:00:03 +08:00
parent 5bed391e64
commit d736f2d3e1
13 changed files with 225 additions and 223 deletions

View File

@@ -27,4 +27,8 @@ spring.data.jpa.repositories.enabled=true
spring.lifecycle.performance.enabled=true
# my.downloadsPath = C:\\Users\\SQQ\\Downloads\\
logging.level.org.hibernate.tool.hbm2ddl=DEBUG
logging.level.org.hibernate.tool.hbm2ddl=DEBUG
# 在application.properties中添加
logging.level.org.springframework.boot.context.metrics.buffering=DEBUG
logging.level.com.ecep.contract.manager.SpringApp=DEBUG

View File

@@ -1,55 +1,63 @@
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.geometry.Insets?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.Tab?>
<?import javafx.scene.control.TabPane?>
<?import javafx.scene.control.TableColumn?>
<?import javafx.scene.control.TableView?>
<?import javafx.scene.layout.HBox?>
<?import javafx.scene.control.ToolBar?>
<?import javafx.scene.layout.VBox?>
<VBox fx:id="root" xmlns="http://javafx.com/javafx/22" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.ecep.contract.manager.ui.task.TaskMonitorViewController">
<padding>
<Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
</padding>
<VBox spacing="10.0" VBox.vgrow="ALWAYS">
<!-- 活动任务区域 -->
<VBox spacing="5.0">
<Label text="活动任务" />
<TableView fx:id="activeTasksTable" VBox.vgrow="ALWAYS">
<columns>
<TableColumn fx:id="activeTaskIdColumn" prefWidth="150.0" text="任务ID" />
<TableColumn fx:id="activeTaskTitleColumn" prefWidth="200.0" text="任务标题" />
<TableColumn fx:id="activeTaskProgressColumn" prefWidth="150.0" text="进度" />
<TableColumn fx:id="activeTaskStatusColumn" prefWidth="100.0" text="状态" />
</columns>
<columnResizePolicy>
<TableView fx:constant="CONSTRAINED_RESIZE_POLICY" />
</columnResizePolicy>
</TableView>
<HBox alignment="CENTER_RIGHT">
<Button fx:id="cancelTaskButton" text="取消选中任务" />
</HBox>
</VBox>
<!-- 历史任务区域 -->
<VBox spacing="5.0" VBox.vgrow="ALWAYS">
<HBox>
<Label text="任务历史" />
<Button fx:id="clearHistoryButton" alignment="CENTER_RIGHT" text="清空历史" HBox.hgrow="ALWAYS" />
</HBox>
<TabPane minHeight="400.0" minWidth="500.0" tabMinWidth="70.0" xmlns="http://javafx.com/javafx/22" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.ecep.contract.manager.ui.task.TaskMonitorViewController">
<tabs>
<Tab closable="false" text="活动任务">
<content>
<VBox>
<children>
<ToolBar prefHeight="40.0" prefWidth="200.0">
<items>
<Button fx:id="cancelTaskButton" text="取消选中任务" />
</items>
</ToolBar>
<TableView fx:id="activeTasksTable">
<columns>
<TableColumn fx:id="activeTaskIdColumn" prefWidth="150.0" text="任务ID" />
<TableColumn fx:id="activeTaskTitleColumn" prefWidth="200.0" text="任务标题" />
<TableColumn fx:id="activeTaskProgressColumn" prefWidth="150.0" text="进度" />
<TableColumn fx:id="activeTaskStatusColumn" prefWidth="100.0" text="状态" />
</columns>
<columnResizePolicy>
<TableView fx:constant="CONSTRAINED_RESIZE_POLICY" />
</columnResizePolicy>
</TableView>
</children>
</VBox>
</content>
</Tab>
<Tab closable="false" text="任务历史">
<content>
<!-- 历史任务区域 -->
<VBox spacing="5.0">
<ToolBar prefHeight="40.0" prefWidth="200.0">
<items>
<Button fx:id="clearHistoryButton" alignment="CENTER_RIGHT" text="清空历史" />
</items>
</ToolBar>
<TableView fx:id="historyTasksTable" VBox.vgrow="ALWAYS">
<columns>
<TableColumn fx:id="historyTaskIdColumn" prefWidth="150.0" text="任务ID" />
<TableColumn fx:id="historyTaskTitleColumn" prefWidth="200.0" text="任务标题" />
<TableColumn fx:id="historyTaskStatusColumn" prefWidth="100.0" text="状态" />
<TableColumn fx:id="historyTaskStartTimeColumn" prefWidth="150.0" text="开始时间" />
<TableColumn fx:id="historyTaskExecutionTimeColumn" prefWidth="100.0" text="执行耗时" />
</columns>
<columnResizePolicy>
<TableView fx:constant="CONSTRAINED_RESIZE_POLICY" />
</columnResizePolicy>
<columns>
<TableColumn fx:id="historyTaskIdColumn" prefWidth="150.0" text="任务ID" />
<TableColumn fx:id="historyTaskTitleColumn" prefWidth="200.0" text="任务标题" />
<TableColumn fx:id="historyTaskStatusColumn" prefWidth="100.0" text="状态" />
<TableColumn fx:id="historyTaskStartTimeColumn" prefWidth="150.0" text="开始时间" />
<TableColumn fx:id="historyTaskExecutionTimeColumn" prefWidth="100.0" text="执行耗时" />
</columns>
<columnResizePolicy>
<TableView fx:constant="CONSTRAINED_RESIZE_POLICY" />
</columnResizePolicy>
</TableView>
</VBox>
</VBox>
</VBox>
</VBox>
</content>
</Tab>
</tabs>
</TabPane>