
1、https://gitee.com/aizuda/easy-retry/issues/I8GRJP 2、Dashboard 添加任务调度数据展示 3、新增重试、定时饼图、任务列表 4、根据后台mode配置动态重试、定时权限
1 line
16 KiB
JavaScript
1 line
16 KiB
JavaScript
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-1098698c","chunk-2b85f358"],{"38b7":function(t,e){var a={jobStatusEnum:{0:{name:"关闭",color:"#9c1f1f"},1:{name:"开启",color:"#f5a22d"}},taskType:{1:{name:"集群模式",color:"#d06892"},2:{name:"广播模式",color:"#f5a22d"},3:{name:"分片模式",color:"#e1f52d"}},triggerType:{1:{name:"CRON表达式",color:"#d06892"},2:{name:"固定时间",color:"#f5a22d"}},blockStrategy:{1:{name:"丢弃策略",color:"#d06892"},2:{name:"覆盖",color:"#f5a22d"},3:{name:"并行",color:"#e1f52d"}},executorType:{1:{name:"Java",color:"#d06892"}},routeKey:{4:{name:"轮询",color:"#8f68d2"},1:{name:"一致性Hash",color:"#d06892"},2:{name:"随机",color:"#f5a22d"},3:{name:"LRU",color:"#e1f52d"}},taskBatchStatus:{1:{name:"待处理",color:"#64a6ea"},2:{name:"运行中",color:"#1b7ee5"},3:{name:"成功",color:"#087da1"},4:{name:"失败",color:"#f52d80"},5:{name:"停止",color:"#ac2df5"},6:{name:"取消",color:"#f5732d"}},operationReason:{0:{name:""},1:{name:"执行超时",color:"#64a6ea"},2:{name:"无客户端节点",color:"#1b7ee5"},3:{name:"任务已关闭",color:"#087da1"},4:{name:"任务丢弃",color:"#3a2f81"},5:{name:"任务被覆盖",color:"#c2238a"},6:{name:"无可执行任务项",color:"#23c28a"},7:{name:"任务执行期间发生非预期异常",color:"#bdc223"},8:{name:"手动停止",color:"#23c28a"}},taskStatus:{2:{name:"运行中",color:"#1b7ee5"},3:{name:"成功",color:"#087da1"},4:{name:"失败",color:"#f52d80"},5:{name:"停止",color:"#ac2df5"}}};t.exports=a},"3b7a":function(t,e,a){"use strict";a.d(e,"l",(function(){return n})),a.d(e,"j",(function(){return s})),a.d(e,"g",(function(){return c})),a.d(e,"k",(function(){return i})),a.d(e,"a",(function(){return l})),a.d(e,"n",(function(){return u})),a.d(e,"f",(function(){return d})),a.d(e,"h",(function(){return b})),a.d(e,"e",(function(){return f})),a.d(e,"d",(function(){return p})),a.d(e,"c",(function(){return m})),a.d(e,"b",(function(){return h})),a.d(e,"i",(function(){return g})),a.d(e,"m",(function(){return j}));var o=a("b775"),r={jobList:"/job/list",jobDetail:"/job/",saveJob:"/job/",updateJob:"/job/",updateJobStatus:"/job/status",delJob:"/job/",timeByCron:"/job/cron",jobNameList:"/job/job-name/list",triggerJob:"/job/trigger/",jobBatchList:"/job/batch/list",jobBatchDetail:"/job/batch/",stop:"/job/batch/stop/",jobTaskList:"/job/task/list",jobLogList:"/job/log/list"};function n(t){return Object(o["b"])({url:r.triggerJob+t,method:"post"})}function s(t){return Object(o["b"])({url:r.stop+t,method:"post"})}function c(t){return Object(o["b"])({url:r.jobNameList,method:"get",params:t})}function i(t){return Object(o["b"])({url:r.timeByCron,method:"get",params:t})}function l(t){return Object(o["b"])({url:r.delJob+t,method:"delete"})}function u(t){return Object(o["b"])({url:r.updateJobStatus,method:"put",data:t})}function d(t){return Object(o["b"])({url:r.jobLogList,method:"get",params:t})}function b(t){return Object(o["b"])({url:r.jobTaskList,method:"get",params:t})}function f(t){return Object(o["b"])({url:r.jobBatchList,method:"get",params:t})}function p(t){return Object(o["b"])({url:r.jobBatchDetail+t,method:"get"})}function m(t){return Object(o["b"])({url:r.jobList,method:"get",params:t})}function h(t){return Object(o["b"])({url:r.jobDetail+t,method:"get"})}function g(t){return Object(o["b"])({url:r.saveJob,method:"post",data:t})}function j(t){return Object(o["b"])({url:r.updateJob,method:"put",data:t})}},6289:function(t,e,a){"use strict";a.r(e);a("ac1f"),a("5319"),a("b0c0"),a("a15b"),a("d81d"),a("b64b"),a("99af");var o=function(){var t=this,e=t._self._c;return e("div",[t.showHeader?e("page-header-wrapper",{staticStyle:{margin:"-24px -1px 0"},on:{back:function(){return t.$router.replace("/job/list")}}},[e("div")]):t._e(),null!==t.jobInfo?e("a-card",{attrs:{bordered:!1}},[e("a-descriptions",{attrs:{title:"",column:t.column,bordered:""}},[e("a-descriptions-item",{attrs:{label:"组名称"}},[t._v(" "+t._s(t.jobInfo.groupName)+" ")]),e("a-descriptions-item",{attrs:{label:"任务名称"}},[t._v(" "+t._s(t.jobInfo.jobName)+" ")]),e("a-descriptions-item",{attrs:{label:"重试状态"}},[e("a-tag",{attrs:{color:t.jobStatusEnum[t.jobInfo.jobStatus].color}},[t._v(" "+t._s(t.jobStatusEnum[t.jobInfo.jobStatus].name)+" ")])],1),e("a-descriptions-item",{attrs:{label:"路由策略"}},[e("a-tag",{attrs:{color:t.routeKey[t.jobInfo.routeKey].color}},[t._v(" "+t._s(t.routeKey[t.jobInfo.routeKey].name)+" ")])],1),e("a-descriptions-item",{attrs:{label:"阻塞策略"}},[e("a-tag",{attrs:{color:t.blockStrategy[t.jobInfo.blockStrategy].color}},[t._v(" "+t._s(t.blockStrategy[t.jobInfo.blockStrategy].name)+" ")])],1),e("a-descriptions-item",{attrs:{label:"并行数"}},[t._v(" "+t._s(t.jobInfo.parallelNum)+" ")]),e("a-descriptions-item",{attrs:{label:"最大重试次数"}},[t._v(" "+t._s(t.jobInfo.maxRetryTimes)+"次 ")]),e("a-descriptions-item",{attrs:{label:"重试间隔"}},[t._v(" "+t._s(t.jobInfo.retryInterval)+"(秒) ")]),e("a-descriptions-item",{attrs:{label:"超时时间"}},[t._v(" "+t._s(t.jobInfo.executorTimeout)+"(秒) ")]),e("a-descriptions-item",{attrs:{label:"下次触发时间"}},[t._v(" "+t._s(t.jobInfo.nextTriggerAt)+" ")]),e("a-descriptions-item",{attrs:{label:"更新时间",span:"4"}},[t._v(" "+t._s(t.jobInfo.updateDt)+" ")]),e("a-descriptions-item",{attrs:{label:"触发类型",span:"1"}},[e("a-tag",{attrs:{color:t.triggerType[t.jobInfo.triggerType].color}},[t._v(" "+t._s(t.triggerType[t.jobInfo.triggerType].name)+" ")])],1),e("a-descriptions-item",{attrs:{label:"间隔时长",span:"4"}},[t._v(" "+t._s(t.jobInfo.triggerInterval)+" ")]),e("a-descriptions-item",{attrs:{label:"执行器类型"}},[e("a-tag",{attrs:{color:t.executorType[t.jobInfo.executorType].color}},[t._v(" "+t._s(t.executorType[t.jobInfo.executorType].name)+" ")])],1),e("a-descriptions-item",{attrs:{label:"执行器名称",span:"4"}},[t._v(" "+t._s(t.jobInfo.executorInfo)+" ")]),e("a-descriptions-item",{attrs:{label:"任务类型"}},[e("a-tag",{attrs:{color:t.taskType[t.jobInfo.taskType].color}},[t._v(" "+t._s(t.taskType[t.jobInfo.taskType].name)+" ")])],1),e("a-descriptions-item",{attrs:{label:"参数",span:"4"}},[t._v(" "+t._s(3===t.jobInfo.taskType?JSON.parse(t.jobInfo.argsStr).map((function(t,e){return"分区:".concat(e,"=>").concat(t)})).join("; "):t.jobInfo.argsStr)+" ")]),e("a-descriptions-item",{attrs:{label:"描述",span:"4"}},[t._v(" "+t._s(t.jobInfo.extAttrs)+" ")])],1)],1):t._e()],1)},r=[],n=(a("a9e3"),a("3b7a")),s=a("c1df"),c=a.n(s),i=a("38b7"),l=a.n(i),u={name:"JobInfo",components:{},props:{showHeader:{type:Boolean,default:!0},column:{type:Number,default:4}},data:function(){return{jobInfo:null,jobStatusEnum:l.a.jobStatusEnum,taskType:l.a.taskType,triggerType:l.a.triggerType,blockStrategy:l.a.blockStrategy,executorType:l.a.executorType,routeKey:l.a.routeKey}},created:function(){var t=this.$route.query.id,e=this.$route.query.groupName;t&&e?this.jobDetail(t):this.showHeader&&this.$router.push({path:"/404"})},methods:{parseDate:function(t){return c()(t).format("YYYY-MM-DD HH:mm:ss")},jobDetail:function(t){var e=this;Object(n["b"])(t).then((function(t){e.jobInfo=t.data}))}}},d=u,b=a("2877"),f=Object(b["a"])(d,o,r,!1,null,"0689f75f",null);e["default"]=f.exports},"76ff":function(t,e,a){"use strict";a.r(e);a("b0c0");var o=function(){var t=this,e=t._self._c;return e("a-card",{attrs:{bordered:!1}},[e("div",{staticClass:"table-page-search-wrapper"},[e("a-form",{attrs:{layout:"inline"}},[e("a-row",{attrs:{gutter:48}},[e("a-col",{attrs:{md:8,sm:24}},[e("a-form-item",{attrs:{label:"组名称"}},[e("a-select",{attrs:{placeholder:"请输入组名称"},on:{change:function(e){return t.handleChange(e)}},model:{value:t.queryParam.groupName,callback:function(e){t.$set(t.queryParam,"groupName",e)},expression:"queryParam.groupName"}},t._l(t.groupNameList,(function(a){return e("a-select-option",{key:a,attrs:{value:a}},[t._v(t._s(a))])})),1)],1)],1),e("a-col",{attrs:{md:8,sm:24}},[e("a-form-item",{attrs:{label:"任务名称"}},[e("a-input",{attrs:{placeholder:"请输入任务名称",allowClear:""},model:{value:t.queryParam.jobName,callback:function(e){t.$set(t.queryParam,"jobName",e)},expression:"queryParam.jobName"}})],1)],1),e("a-col",{attrs:{md:8,sm:24}},[e("a-form-item",{attrs:{label:"状态"}},[e("a-select",{attrs:{placeholder:"请选择状态",allowClear:""},model:{value:t.queryParam.jobStatus,callback:function(e){t.$set(t.queryParam,"jobStatus",e)},expression:"queryParam.jobStatus"}},t._l(t.jobStatusEnum,(function(a,o){return e("a-select-option",{key:o,attrs:{value:o}},[t._v(" "+t._s(a.name))])})),1)],1)],1),t.advanced?void 0:t._e(),e("a-col",{attrs:{md:t.advanced?24:8,sm:24}},[e("span",{staticClass:"table-page-search-submitButtons",style:t.advanced&&{float:"right",overflow:"hidden"}||{}},[e("a-button",{attrs:{type:"primary"},on:{click:function(e){return t.$refs.table.refresh(!0)}}},[t._v("查询")]),e("a-button",{staticStyle:{"margin-left":"8px"},on:{click:function(){return t.queryParam={}}}},[t._v("重置")]),e("a",{staticStyle:{"margin-left":"8px"},on:{click:t.toggleAdvanced}},[t._v(" "+t._s(t.advanced?"收起":"展开")+" "),e("a-icon",{attrs:{type:t.advanced?"up":"down"}})],1)],1)])],2)],1)],1),e("div",{staticClass:"table-operator"},[e("a-button",{attrs:{type:"primary",icon:"plus"},on:{click:function(e){return t.handleNew()}}},[t._v("新增")]),t.selectedRowKeys.length>0?e("a-dropdown",{directives:[{name:"action",rawName:"v-action:edit",arg:"edit"}]}):t._e()],1),e("s-table",{ref:"table",attrs:{size:"default",rowKey:function(t){return t.id},columns:t.columns,data:t.loadData,scroll:{x:2e3}},scopedSlots:t._u([{key:"serial",fn:function(a,o){return e("span",{},[t._v(" "+t._s(o.id)+" ")])}},{key:"jobName",fn:function(a,o){return e("span",{},[e("a",{attrs:{href:"#"},on:{click:function(e){return t.handlerOpenDrawer(o)}}},[t._v(t._s(a))])])}},{key:"taskType",fn:function(a){return e("span",{},[e("a-tag",{attrs:{color:t.taskType[a].color}},[t._v(" "+t._s(t.taskType[a].name)+" ")])],1)}},{key:"jobStatus",fn:function(a){return e("span",{},[e("a-tag",{attrs:{color:t.jobStatusEnum[a].color}},[t._v(" "+t._s(t.jobStatusEnum[a].name)+" ")])],1)}},{key:"triggerType",fn:function(a){return e("span",{},[e("a-tag",{attrs:{color:t.triggerType[a].color}},[t._v(" "+t._s(t.triggerType[a].name)+" ")])],1)}},{key:"blockStrategy",fn:function(a){return e("span",{},[e("a-tag",{attrs:{color:t.blockStrategy[a].color}},[t._v(" "+t._s(t.blockStrategy[a].name)+" ")])],1)}},{key:"triggerInterval",fn:function(a){return e("span",{},[e("span",[t._v(t._s(a))])])}},{key:"executorTimeout",fn:function(a){return e("span",{},[e("span",[t._v(t._s(a)+"(秒)")])])}},{key:"action",fn:function(a,o){return e("span",{},[[e("a-popconfirm",{attrs:{title:"是否运行?","ok-text":"运行","cancel-text":"取消"},on:{confirm:function(e){return t.handleTrigger(o)}}},[e("a",{attrs:{href:"javascript:;"}},[t._v("运行")])]),e("a-divider",{attrs:{type:"vertical"}}),e("a",{on:{click:function(e){return t.handleInfo(o)}}},[t._v("详情")]),e("a-divider",{attrs:{type:"vertical"}}),e("a",{on:{click:function(e){return t.goJobBatchList(o)}}},[t._v("批次")]),e("a-divider",{attrs:{type:"vertical"}}),e("a",{on:{click:function(e){return t.handleEdit(o)}}},[t._v("编辑")]),e("a-divider",{attrs:{type:"vertical"}}),e("a-popconfirm",{attrs:{title:"是否关闭?","ok-text":"关闭","cancel-text":"取消"},on:{confirm:function(e){return t.handleClose(o)}}},[1===o.jobStatus?e("a",{attrs:{href:"javascript:;"}},[t._v("关闭")]):t._e()]),1===o.jobStatus?e("a-divider",{attrs:{type:"vertical"}}):t._e(),e("a-popconfirm",{attrs:{title:"是否开启?","ok-text":"开启","cancel-text":"取消"},on:{confirm:function(e){return t.handleOpen(o)}}},[0===o.jobStatus?e("a",{attrs:{href:"javascript:;"}},[t._v("开启")]):t._e()]),0===o.jobStatus?e("a-divider",{attrs:{type:"vertical"}}):t._e(),t.$auth("job.del")?e("a-popconfirm",{attrs:{title:"是否删除任务?","ok-text":"删除","cancel-text":"取消"},on:{confirm:function(e){return t.handleDel(o)}}},[0===o.jobStatus?e("a",{attrs:{href:"javascript:;"}},[t._v("删除")]):t._e()]):t._e()]],2)}}])}),e("Drawer",{attrs:{title:"任务详情",placement:"right",width:800,visibleAmplify:!0,visible:t.openDrawer},on:{closeDrawer:t.onClose,handlerAmplify:t.handleInfo}},[e("job-info",{ref:"jobInfoRef",attrs:{showHeader:!1,column:2}})],1)],1)},r=[],n=a("261e"),s=a("27e3"),c=a("2af9"),i=a("3b7a"),l=a("0fea"),u=a("38b7"),d=a.n(u),b=a("6289"),f={name:"JobList",components:{AInput:s["a"],ATextarea:n["a"],STable:c["i"],JobInfo:b["default"],Drawer:c["c"]},data:function(){var t=this;return{currentComponet:"List",record:"",mdl:{},visible:!1,advanced:!1,queryParam:{},jobStatusEnum:d.a.jobStatusEnum,taskType:d.a.taskType,triggerType:d.a.triggerType,blockStrategy:d.a.blockStrategy,executorType:d.a.executorType,columns:[{title:"ID",scopedSlots:{customRender:"serial"},width:"4%"},{title:"组名称",dataIndex:"groupName",width:"10%"},{title:"任务名称",dataIndex:"jobName",scopedSlots:{customRender:"jobName"},ellipsis:!0,width:"10%"},{title:"触发时间",dataIndex:"nextTriggerAt",ellipsis:!0},{title:"状态",dataIndex:"jobStatus",scopedSlots:{customRender:"jobStatus"}},{title:"任务类型",dataIndex:"taskType",scopedSlots:{customRender:"taskType"}},{title:"触发类型",dataIndex:"triggerType",scopedSlots:{customRender:"triggerType"}},{title:"间隔时长",dataIndex:"triggerInterval",scopedSlots:{customRender:"triggerInterval"},ellipsis:!0},{title:"阻塞策略",dataIndex:"blockStrategy",scopedSlots:{customRender:"blockStrategy"}},{title:"超时时间",dataIndex:"executorTimeout",scopedSlots:{customRender:"executorTimeout"}},{title:"更新时间",dataIndex:"updateDt",sorter:!0,width:"10%"},{title:"操作",fixed:"right",dataIndex:"action",width:"180px",scopedSlots:{customRender:"action"}}],loadData:function(e){return Object(i["c"])(Object.assign(e,t.queryParam)).then((function(t){return t}))},selectedRowKeys:[],selectedRows:[],options:{alert:{show:!0,clear:function(){t.selectedRowKeys=[]}},rowSelection:{selectedRowKeys:this.selectedRowKeys,onChange:this.onSelectChange}},optionAlertShow:!1,groupNameList:[],sceneList:[],openDrawer:!1,currentShowRecord:null}},created:function(){var t=this;Object(l["j"])().then((function(e){t.groupNameList=e.data}))},methods:{handleEdit:function(t){this.$router.push({path:"/job/config",query:{id:t.id}})},goJobBatchList:function(t){this.$router.push({path:"/job/batch/list",query:{jobId:t.id}})},handleNew:function(){this.$router.push({path:"/job/config"})},handleChange:function(t){},toggleAdvanced:function(){this.advanced=!this.advanced},handleInfo:function(t){t=t||this.currentShowRecord,this.$router.push({path:"/job/info",query:{id:t.id,groupName:t.groupName}})},handleOk:function(t){},handleClose:function(t){var e=this;Object(i["n"])({id:t.id,jobStatus:0}).then((function(t){var a=t.status;0===a?e.$message.error("关闭失败"):(e.$refs.table.refresh(!0),e.$message.success("关闭成功"))}))},handleTrigger:function(t){var e=this;Object(i["l"])(t.id).then((function(t){var a=t.status;0===a?e.$message.error("执行失败"):e.$message.success("执行成功")}))},handleOpen:function(t){var e=this;Object(i["n"])({id:t.id,jobStatus:1}).then((function(t){var a=t.status;0===a?e.$message.error("开启失败"):(e.$refs.table.refresh(!0),e.$message.success("开启成功"))}))},handleDel:function(t){var e=this;Object(i["a"])(t.id).then((function(t){var a=t.status;0===a?e.$message.error("删除失败"):(e.$refs.table.refresh(!0),e.$message.success("删除成功"))}))},refreshTable:function(t){this.$refs.table.refresh(!0)},onSelectChange:function(t,e){this.selectedRowKeys=t,this.selectedRows=e},handlerOpenDrawer:function(t){var e=this;this.currentShowRecord=t,this.openDrawer=!0,setTimeout((function(){e.$refs.jobInfoRef.jobDetail(t.id)}),200)},onClose:function(){this.openDrawer=!1,this.currentShowRecord=null}}},p=f,m=a("2877"),h=Object(m["a"])(p,o,r,!1,null,null,null);e["default"]=h.exports}}]); |