浏览代码

任务列表交互优化,支持查看任务所属执行器的注册节点;

xuxueli 6 年之前
父节点
当前提交
bee089b89b

+ 1 - 0
doc/XXL-JOB官方文档.md

@@ -1520,6 +1520,7 @@ Tips: 历史版本(V1.3.x)目前已经Release至稳定版本, 进入维护阶段
 - 9、[ING]任务触发组件优化,常规1s预加载一次,轮空时主动休眠4s;
 - 10、注册监控线程优化,降低死锁几率;
 - 11、调度组件优化:针对永远不会触发的Cron禁止配置和启动;任务Cron最后一次触发后再也不会触发时,比如一次性任务,主动停止相关任务;
+- 12、任务列表交互优化,支持查看任务所属执行器的注册节点;
 
 
 ### TODO LIST

+ 7 - 0
xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobGroupController.java

@@ -158,4 +158,11 @@ public class JobGroupController {
 		return (ret>0)?ReturnT.SUCCESS:ReturnT.FAIL;
 	}
 
+	@RequestMapping("/loadById")
+	@ResponseBody
+	public ReturnT<XxlJobGroup> loadById(int id){
+		XxlJobGroup jobGroup = xxlJobGroupDao.load(id);
+		return jobGroup!=null?new ReturnT<XxlJobGroup>(jobGroup):new ReturnT<XxlJobGroup>(ReturnT.FAIL_CODE, null);
+	}
+
 }

+ 3 - 2
xxl-job-admin/src/main/resources/i18n/message.properties

@@ -125,8 +125,9 @@ jobinfo_shard_index=分片序号
 jobinfo_shard_total=分片总数
 jobinfo_opt_stop=停止
 jobinfo_opt_start=启动
-jobinfo_opt_log=日志
-jobinfo_opt_run=执行
+jobinfo_opt_log=查询日志
+jobinfo_opt_run=执行一次
+jobinfo_opt_registryinfo=注册节点
 jobinfo_glue_remark=源码备注
 jobinfo_glue_remark_limit=源码备注长度限制为4~100
 jobinfo_glue_rollback=版本回溯

+ 3 - 2
xxl-job-admin/src/main/resources/i18n/message_en.properties

@@ -125,8 +125,9 @@ jobinfo_shard_index=Shard index
 jobinfo_shard_total=Shard total
 jobinfo_opt_stop=Stop
 jobinfo_opt_start=Start
-jobinfo_opt_log=Log
-jobinfo_opt_run=Run
+jobinfo_opt_log=Query Log
+jobinfo_opt_run=Run Once
+jobinfo_opt_registryinfo=Registry Info
 jobinfo_glue_remark=Resource Remark
 jobinfo_glue_remark_limit=Resource Remark length is limited to 4~100
 jobinfo_glue_rollback=Version Backtrack

+ 40 - 1
xxl-job-admin/src/main/resources/static/js/jobinfo.index.1.js

@@ -133,9 +133,10 @@ $(function() {
                                     '     </button>\n' +
                                     '     <ul class="dropdown-menu" role="menu" _id="'+ row.id +'" >\n' +
                                     '       <li><a href="javascript:void(0);" class="job_trigger" >'+ I18n.jobinfo_opt_run +'</a></li>\n' +
-                                    start_stop_div +
                                     '       <li><a href="'+ logHref +'">'+ I18n.jobinfo_opt_log +'</a></li>\n' +
+                                    '       <li><a href="javascript:void(0);" class="job_registryinfo" >' + I18n.jobinfo_opt_registryinfo + '</a></li>\n' +
                                     '       <li class="divider"></li>\n' +
+                                    start_stop_div +
                                     codeBtn +
                                     '       <li><a href="javascript:void(0);" class="update" >'+ I18n.system_opt_edit +'</a></li>\n' +
                                     '       <li><a href="javascript:void(0);" class="job_operate" _type="job_del" >'+ I18n.system_opt_del +'</a></li>\n' +
@@ -274,6 +275,44 @@ $(function() {
     });
     $("#jobTriggerModal").on('hide.bs.modal', function () {
         $("#jobTriggerModal .form")[0].reset();
+    });
+
+
+    // job registryinfo
+    $("#job_list").on('click', '.job_registryinfo',function() {
+        var id = $(this).parents('ul').attr("_id");
+        var row = tableData['key'+id];
+
+        var jobGroup = row.jobGroup;
+
+        $.ajax({
+            type : 'POST',
+            url : base_url + "/jobgroup/loadById",
+            data : {
+                "id" : jobGroup
+            },
+            dataType : "json",
+            success : function(data){
+
+                var html = '<center>';
+                if (data.code == 200 && data.content.registryList) {
+                    for (var index in data.content.registryList) {
+                        html += '<span class="badge bg-green" >' + data.content.registryList[index] + '</span><br>';
+                    }
+                }
+                html += '</center>';
+
+                layer.open({
+                    title: I18n.jobinfo_opt_registryinfo ,
+                    btn: [ I18n.system_ok ],
+                    content: html
+                });
+
+            }
+        });
+
+
+
     });
 
 	// add