diff --git a/service-forest/src/main/java/com/lanyuanxiaoyao/service/forest/service/ScheduleService.java b/service-forest/src/main/java/com/lanyuanxiaoyao/service/forest/service/ScheduleService.java index bed9ae5..d379050 100644 --- a/service-forest/src/main/java/com/lanyuanxiaoyao/service/forest/service/ScheduleService.java +++ b/service-forest/src/main/java/com/lanyuanxiaoyao/service/forest/service/ScheduleService.java @@ -35,4 +35,7 @@ public interface ScheduleService { @Get("/table") void scheduleTableRecommend(@Query("flink_job_id") Long flinkJobId, @Query("alias") String alias, @Query("recommend") String recommendCluster); + + @Get("/stop_all") + void stopAll(@Query("flink_job_id") Long flinkJobId, @Query("alias") String alias, @Query("disable_meta") Boolean disableMeta); } diff --git a/service-web/src/main/java/com/lanyuanxiaoyao/service/web/controller/ScheduleController.java b/service-web/src/main/java/com/lanyuanxiaoyao/service/web/controller/ScheduleController.java index aef261d..1303c60 100644 --- a/service-web/src/main/java/com/lanyuanxiaoyao/service/web/controller/ScheduleController.java +++ b/service-web/src/main/java/com/lanyuanxiaoyao/service/web/controller/ScheduleController.java @@ -68,4 +68,15 @@ public class ScheduleController extends BaseController { } return AmisResponse.responseSuccess(); } + + @GetMapping("stop_all") + public AmisResponse stopAll( + @RequestParam("flink_job_id") Long flinkJobId, + @RequestParam("alias") String alias, + @RequestParam(value = "disable_meta", required = false) Boolean disableMeta + ) throws TableNotFoundException { + checkTableExists(infoService, flinkJobId, alias); + scheduleService.stopAll(flinkJobId, alias, disableMeta); + return AmisResponse.responseSuccess(); + } } diff --git a/service-web/src/main/java/com/lanyuanxiaoyao/service/web/controller/TaskController.java b/service-web/src/main/java/com/lanyuanxiaoyao/service/web/controller/TaskController.java index cff4134..e6296d2 100644 --- a/service-web/src/main/java/com/lanyuanxiaoyao/service/web/controller/TaskController.java +++ b/service-web/src/main/java/com/lanyuanxiaoyao/service/web/controller/TaskController.java @@ -66,6 +66,18 @@ public class TaskController { return AmisResponse.responseSuccess(); } + @GetMapping("latest_op_ts") + public AmisResponse latestOpTs(@RequestParam("hdfs") String hdfs) { + if (StrUtil.isBlank(hdfs)) { + throw new RuntimeException("Hdfs cannot be blank"); + } + ExecutorProvider.EXECUTORS.submit(() -> { + String applicationId = taskService.latestOpTs(hdfs); + logger.info("Task: {}", applicationId); + }); + return AmisResponse.responseSuccess(); + } + @GetMapping("results") public AmisMapResponse results(@RequestParam("task_id") String taskId) { return AmisResponse.responseMapData() diff --git a/service-web/src/main/resources/static/components/tool-tab.js b/service-web/src/main/resources/static/components/tool-tab.js index 6bccb1c..7cdd86a 100644 --- a/service-web/src/main/resources/static/components/tool-tab.js +++ b/service-web/src/main/resources/static/components/tool-tab.js @@ -215,6 +215,42 @@ function toolTab() { } ] }, + { + type: 'form', + title: '停止所有压缩任务', + api: { + method: 'get', + url: '${base}/schedule/stop_all', + data: { + flink_job_id: '${flinkJobId|default:undefined}', + alias: '${alias|default:undefined}', + disable_meta: "${disableMeta|default:undefined}", + } + }, + ...formReloadFlinkJobIdTextInputAndAliasTextInput("163e043e-8cee-41fd-b5a4-0442ac682aec"), + body: [ + { + type: 'group', + body: [ + { + ...flinkJobIdTextInput("163e043e-8cee-41fd-b5a4-0442ac682aec", true), + columnRatio: 5 + }, + { + ...aliasTextInput("163e043e-8cee-41fd-b5a4-0442ac682aec", true), + columnRatio: 5 + }, + { + name: 'disableMeta', + type: 'checkbox', + label: '是否禁用表', + option: '表status设为n', + columnRatio: 2 + } + ] + }, + ] + }, ] } } \ No newline at end of file