D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
opt
/
psa
/
admin
/
cp
/
public
/
javascript
/
views
/
admin
/
task-manager
/
Filename :
index.js
back
Copy
(self.webpackChunkPlesk=self.webpackChunkPlesk||[]).push([["views/admin/task-manager/index"],{2265:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>c});var i=n(286),a=n(285),s=n(596),r=n.n(s),o=n(89);const l=({isOpen:e,onClose:t,onCreate:n,onError:s})=>{const[r,l]=(0,a.useState)(!1),[c,d]=(0,a.useState)(null),[u,m]=(0,a.useState)(!1);(0,a.useEffect)((()=>{e&&m(!1)}),[e]);const k=e=>{const t={};return Object.keys(e).forEach((n=>{e[n]&&""!==e[n].trim()||(t[n]={empty:"Field is required"})})),d(t),!Object.keys(t).length};return(0,a.useEffect)((()=>{e&&d(null)}),[e]),(0,a.jsxs)(i.Dialog,{isOpen:e,title:"Create task",size:"md",onClose:t,form:{onSubmit:async({cmd:e,concurrencyRules:t,stdin:i,description:a,env:r,timeout:c})=>{if(d(null),k({cmd:e,description:a})){l(!0);try{const{status:l,formMessages:m,msg:k,redirect:p}=await o.api.post("/admin/task-manager/create",{cmd:e,concurrencyRules:t,stdin:i,description:a,env:r,...u?{timeout:c}:null});if(p)return void(0,o.redirect)(p);"success"===l?n():m?Object.keys(m).forEach((e=>d((t=>({...t,[e]:m[e]}))))):s(k||"Failed to create task")}catch{s("Failed to create task")}finally{l(!1)}}},submitButton:{children:"Create",state:r?"loading":null},errors:c},children:[(0,a.jsx)(i.FormFieldText,{name:"cmd",label:"Command",multiline:!0,size:"fill",required:!0}),(0,a.jsx)(i.FormFieldText,{name:"concurrencyRules",label:"Concurrency Rules",size:"fill"}),(0,a.jsx)(i.FormFieldText,{name:"stdin",label:"STDIN",multiline:!0,size:"fill"}),(0,a.jsx)(i.FormFieldText,{name:"description",label:"Description",size:"fill",required:!0}),(0,a.jsx)(i.FormFieldText,{name:"env",label:"Env Variables",multiline:!0,size:"fill",placeholder:"env1=val1\nenv2=val2\nenv3=val3"}),(0,a.jsx)(i.FormField,{name:"timeout",label:"Timeout",children:({setValue:e})=>(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(i.Switch,{onChange:m})," ",(0,a.jsx)(i.InputNumber,{min:1,disabled:!u,onChange:e})]})})]})};l.propTypes={isOpen:r().bool.isRequired,onClose:r().func.isRequired,onCreate:r().func.isRequired,onError:r().func.isRequired};const c=l},2263:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>u});var i=n(286),a=n(285),s=n(2264),r=n(89),o=n(596),l=n.n(o);const c=r.Locale.getTranslate("components.lists.tasks.processes"),d=({processes:e,task:t,requestTasks:n,onError:o})=>{const[l,d]=(0,a.useState)(!1),[u,m]=(0,a.useState)(""),[k,p]=(0,a.useState)(""),[g,x]=(0,a.useState)(null),v=async(e,t)=>{const n=await fetch(`/admin/task-manager/${e}/?id=${t}`,{method:"GET"});200===n.status?(m(await n.text()),d(!0),p(`${e.toUpperCase()}`)):o((0,a.jsx)(c,{content:"dataLoadFailed"}))};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(i.Dialog,{isOpen:l,title:k,size:"lg",onClose:()=>d(!1),children:(0,a.jsx)(i.ConsoleOutput,{children:u})}),(({cmd:e})=>(0,a.jsx)(i.Alert,{children:(0,a.jsxs)(i.Columns,{children:[(0,a.jsx)(i.Column,{fill:!0,children:e.join(" ")}),(0,a.jsx)(i.Column,{width:30,children:(0,a.jsx)(i.Button,{ghost:!0,icon:"copy",tooltip:(0,a.jsx)(c,{content:"copyToClipboard"}),onClick:()=>(async(e,t)=>{try{const{commandLine:n}=await r.api.post("/admin/task-manager/command-line",{cmd:e});t(n)}catch{o((0,a.jsx)(c,{content:"commandLineLoadFailed"}))}})(e,i.copyToClipboard)})})]})}))(t),(({id:e,timeout:t,concurrencyRules:n,requestorId:r,created:o,updated:l,env:d})=>(0,a.jsx)(i.Cuttable,{maxHeight:0,children:(0,a.jsxs)(i.Section,{children:[(0,a.jsx)(i.SectionItem,{title:(0,a.jsx)(c,{content:"concurrency"}),children:n?n.map((e=>(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(i.Label,{intent:"inactive",children:e})," "]},e))):"-"}),(0,a.jsx)(i.SectionItem,{title:(0,a.jsx)(c,{content:"taskIdSection"}),children:e}),(0,a.jsx)(i.SectionItem,{title:(0,a.jsx)(c,{content:"requestorIdSection"}),children:r||"-"}),(0,a.jsx)(i.SectionItem,{title:(0,a.jsx)(c,{content:"timeoutSection"}),children:t||"-"}),(0,a.jsx)(i.SectionItem,{title:(0,a.jsx)(c,{content:"createdSection"}),children:(0,s.formatDate)(o)}),(0,a.jsx)(i.SectionItem,{title:(0,a.jsx)(c,{content:"updatedSection"}),children:(0,s.formatDate)(l)}),(0,a.jsx)(i.SectionItem,{title:(0,a.jsx)(c,{content:"environmentSection"}),children:(0,a.jsx)(i.ConsoleOutput,{children:d?d.map((({key:e,value:t})=>`${e}=${t}`)).join("\n"):""})})]})}))(t),void 0===e?(0,a.jsx)(i.ContentLoader,{}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(i.Dialog,{isOpen:!!g,title:(0,a.jsx)(c,{content:"stopProcess"}),size:"sm",onClose:()=>x(null),form:{submitButton:{children:(0,a.jsx)(c,{content:"buttonStopConfirm"})},onSubmit:async()=>{x(null);try{const{status:e,msg:t}=await r.api.post("/admin/task-manager/proc-stop/",{id:g});"error"===e?o(t||(0,a.jsx)(c,{content:"stopProcessFailed"})):await n()}catch{o((0,a.jsx)(c,{content:"stopProcessFailed"}))}}},children:(0,a.jsx)(c,{content:"stopProcessConfirm"})}),(0,a.jsx)(i.List,{rowKey:"id",columns:[{title:(0,a.jsx)(c,{content:"idTitle"}),key:"id"},{title:(0,a.jsx)(c,{content:"statusTitle"}),key:"status",align:"center",render:({status:e})=>(0,a.jsx)(i.Label,{intent:(0,s.mapStatusIntent)(e),children:e})},{title:(0,a.jsx)(c,{content:"startedTitle"}),key:"started",render:({started:e})=>(0,s.formatDate)(e)},{title:(0,a.jsx)(c,{content:"completedTitle"}),key:"completed",render:({completed:e})=>(0,s.formatDate)(e)},{title:(0,a.jsx)(c,{content:"pidTitle"}),align:"center",key:"pid"},{title:(0,a.jsx)(c,{content:"exitCodeTitle"}),key:"exitCode",align:"center"},{key:"actions",type:"actions",render:({status:e,id:t})=>(0,a.jsxs)(i.ListActions,{children:[(0,a.jsx)(i.ListAction,{primary:!0,icon:"arrow-down-in",onClick:()=>v("stdin",t),children:"Stdin"}),(0,a.jsx)(i.ListAction,{primary:!0,icon:"arrow-up-tray",onClick:()=>v("stdout",t),children:"Stdout"}),(0,a.jsx)(i.ListAction,{primary:!0,icon:"bug",onClick:()=>v("stderr",t),children:"Stderr"}),["STARTED","PROCESSING"].includes(e)?(0,a.jsx)(i.ListAction,{primary:!0,icon:"stop-circle",onClick:()=>x(t),children:(0,a.jsx)(c,{content:"stopProcess"})}):null]})}],data:e})]})]})};d.propTypes={task:l().object.isRequired,processes:l().array.isRequired,requestTasks:l().func.isRequired,onError:l().func.isRequired};const u=d},2262:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>j});var i=n(285),a=n(286),s=n(586),r=n(89),o=n(603),l=n(536),c=n(2263),d=n(2265),u=n(2264),m=n(2266),k=n.n(m),p=n(612);const g=r.Locale.getTranslate("components.lists.tasks"),x=r.Locale.getSection("components.lists.tasks"),v=[10,20,30],h=[1,2,3,10],j=(0,o.withPageLayout)((()=>{const{data:{tasks:{list:e=[],summary:t=[],total:n}={},config:{taskManager:{allowCreate:o}={}}={}}={},loading:m,refetch:j}=(0,s.useQuery)(k(),{variables:{page:1,itemsPerPage:v[0]}}),[f,S]=(0,i.useState)(1),[y,b]=(0,i.useState)(v[0]),[C,T]=(0,i.useState)(!1),[F,N]=(0,i.useState)(""),E=(0,p.useDebounce)(F,300),[w,P]=(0,i.useState)(0),[I,D]=(0,i.useState)(0),[L,R]=(0,i.useState)([]),[A,O]=(0,i.useState)(null),[$,q]=(0,i.useState)(null),[M,V]=(0,i.useState)({}),B=(0,i.useRef)(!0),z=(0,a.useTranslate)("components.lists.tasks"),G=(0,i.useCallback)((()=>{const e={page:f,itemsPerPage:y,search:E,statusFilter:$?.toUpperCase()};j(e)}),[y,f,j,E,$]);(0,i.useEffect)((()=>{B.current?B.current=!1:G()}),[G]);const U=Math.ceil(n/y),H=(0,i.useCallback)((()=>{T(!1),G(),(0,l.addToast)({intent:"success",message:(0,i.jsx)(g,{content:"taskCreated"})})}),[G]),W=(0,i.useCallback)((e=>{S(1),b(e)}),[]),_=(0,i.useCallback)((e=>Z((0,i.jsxs)(i.Fragment,{children:[e,(0,i.jsx)("br",{}),(0,i.jsx)(g,{content:"moreDetails"})]}))),[]),K=(0,i.useCallback)((e=>async()=>{try{const{status:t,msg:n}=await r.api.post("/admin/task-manager/retry/",{id:e});"error"===t?_(n||(0,i.jsx)(g,{content:"retryTaskFailed"})):await G()}catch{_((0,i.jsx)(g,{content:"retryTaskFailed"}))}}),[_,G]),Q=(0,i.useCallback)((e=>{S(1),N(e)}),[]),Y=(0,i.useRef)(),J=(0,i.useCallback)((e=>{D(e)}),[]);(0,i.useEffect)((()=>(I>0&&(P(I),Y.current=setInterval((()=>{P((e=>0===e?(G(),I):--e))}),1e3)),()=>clearInterval(Y.current))),[G,I]);const X=(0,i.useMemo)((()=>(0,i.jsxs)(a.Menu,{children:[(0,i.jsx)(a.MenuItem,{active:0===I,onClick:()=>J(0),children:(0,i.jsx)(g,{content:"pollingOff"})}),h.map((e=>(0,i.jsx)(a.MenuItem,{active:e===I,onClick:()=>J(e),children:(0,i.jsx)(g,{content:"pollingDelay",params:{delay:e}})},e)))]})),[J,I]),Z=e=>(0,l.addToast)({message:[(0,i.jsx)("span",{children:e},e)],intent:"danger"});(0,i.useEffect)((()=>{m||ee()}),[L,m]);const ee=()=>{e.forEach((e=>{-1===L.indexOf(e.id)||M[e.id]||(async({id:e})=>{try{const{processes:t,status:n,statusMessages:a}=await r.api.get("/admin/task-manager/processes",{id:e});if("error"===n)return void(a.length?a.forEach((({content:e})=>Z(e))):_((0,i.jsx)(g,{content:"processedLoadFailed"})));V((n=>({...n,[e]:t})))}catch{_((0,i.jsx)(g,{content:"processedLoadFailed"}))}})(e)}))},te=t.filter((({count:e})=>e>0));return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(d.default,{isOpen:C,onClose:()=>T(!1),onCreate:H,onError:_}),(0,i.jsxs)(a.Toolbar,{children:[(0,i.jsx)(a.ToolbarGroup,{title:z("search"),style:{width:"100%"},children:(0,i.jsx)(a.SearchBar,{inputProps:{placeHolder:x.lmsg("searchPlaceholder")},maxWidth:-1,onTyping:Q,"data-id":"search-input"})}),(0,i.jsxs)(a.ToolbarGroup,{title:z("refresh"),children:[(0,i.jsxs)(a.Button,{icon:"refresh",tooltip:(0,i.jsx)(g,{content:"refreshDescription"}),onClick:()=>G(),disabled:m||!!I,"data-id":"refresh",children:[(0,i.jsx)(g,{content:"refresh"})," ",I&&w?w:null]}),(0,i.jsx)(a.Dropdown,{tooltip:"TimerList",menu:X,"data-id":"timer-dropdown"})]}),o?(0,i.jsx)(a.ToolbarGroup,{title:z("createTask"),children:(0,i.jsx)(a.Button,{icon:"plus",tooltip:(0,i.jsx)(g,{content:"createTask"}),onClick:()=>T(!0),"data-id":"create-new-task",children:(0,i.jsx)(g,{content:"createTask"})})}):null,(0,i.jsx)(a.ToolbarGroup,{title:(0,i.jsx)(g,{content:"openSwagger"}),children:(0,i.jsx)(a.Button,{icon:"net",tooltip:(0,i.jsx)(g,{content:"openSwagger"}),onClick:()=>window.open("/admin/task-manager/swagger-ui","_blank"),children:(0,i.jsx)(g,{content:"openSwagger"})})})]}),te.map((({status:e,count:t})=>(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(a.Button,{onClick:()=>(e=>{q(e!==$?e:null),S(1)})(e),state:e===$?"active":"",intent:(0,u.mapStatusIntent)(e),children:`${e} ${t}`})," "]},e))),(0,i.jsx)(a.Dialog,{isOpen:!!A,title:(0,i.jsx)(g,{content:"stopTask"}),size:"sm",onClose:()=>O(null),form:{submitButton:{children:(0,i.jsx)(g,{content:"buttonStopConfirm"})},onSubmit:async()=>{O(null);try{const{status:e,msg:t}=await r.api.post("/admin/task-manager/stop/",{id:A});"error"===e?_(t||(0,i.jsx)(g,{content:"stopTaskError"})):await G()}catch{_((0,i.jsx)(g,{content:"stopTaskError"}))}}},children:(0,i.jsx)(g,{content:"stopTaskConfirm"})}),(0,i.jsx)(a.List,{rowKey:"id",loading:m,columns:[{key:"status",title:(0,i.jsx)(g,{content:"statusTitle"}),render:({status:e})=>({children:(0,i.jsx)(a.Label,{intent:(0,u.mapStatusIntent)(e),children:e}),"data-field":"status"}),align:"center"},{key:"created",title:(0,i.jsx)(g,{content:"createdTitle"}),render:({created:e})=>({children:(0,u.formatDate)(e),className:"nowrap","data-field":"created"})},{key:"description",title:(0,i.jsx)(g,{content:"descriptionTitle"}),type:"title",truncate:!0,render:({description:e})=>({children:e,"data-field":"description"})},{key:"actions",type:"actions",render:({status:e,id:t})=>(0,i.jsxs)(a.ListActions,{children:[["FAILURE","RETRIABLE_FAILURE"].includes(e)?(0,i.jsx)(a.ListAction,{primary:!0,icon:"reload",onClick:K(t),children:(0,i.jsx)(g,{content:"retryTask"})}):null,["PROCESSING","NEW","CLAIMED"].includes(e)?(0,i.jsx)(a.ListAction,{primary:!0,icon:"stop-circle",onClick:()=>O(t),children:(0,i.jsx)(g,{content:"stopTask"})}):null]})}],data:e,renderRowBody:e=>(0,i.jsx)(c.default,{processes:M[e.id],task:e,requestTasks:G,onError:_}),onExpandedRowsChange:R,totalRows:n,pagination:(0,i.jsx)(a.Pagination,{current:f,total:U,onSelect:S,itemsPerPage:y,itemsPerPageOptions:v,onItemsPerPageChange:W})})]})}))},2264:(e,t,n)=>{"use strict";n.r(t),n.d(t,{formatDate:()=>i,mapStatusIntent:()=>a});const i=e=>{if(!e)return"N/A";const t=new Date(e.substr(0,19)),n=[t.getFullYear(),t.getMonth()+1,t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds()].map((e=>4===`${e}`.length?e:`0${e}`.substr(-2)));return`${n[0]}-${n[1]}-${n[2]} ${n[3]}:${n[4]}:${n[5]}`},a=e=>{switch(e.toUpperCase()){case"NEW":case"CLAIMED":default:return"inactive";case"SUCCESS":return"success";case"STARTED":case"PROCESSING":return"primary";case"FAILURE":case"RETRIABLE_FAILURE":case"TIMEOUT":case"STOPPED":return"danger"}}},2261:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>i.default});var i=n(2262)},2266:e=>{var t={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"query",name:{kind:"Name",value:"TaskManagerPage"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"itemsPerPage"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"Int"}}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"page"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"Int"}}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"search"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"statusFilter"}},type:{kind:"NamedType",name:{kind:"Name",value:"TaskStatusEnum"}},directives:[]}],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"config"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"taskManager"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"allowCreate"},arguments:[],directives:[]}]}}]}},{kind:"Field",name:{kind:"Name",value:"tasks"},arguments:[{kind:"Argument",name:{kind:"Name",value:"itemsPerPage"},value:{kind:"Variable",name:{kind:"Name",value:"itemsPerPage"}}},{kind:"Argument",name:{kind:"Name",value:"page"},value:{kind:"Variable",name:{kind:"Name",value:"page"}}},{kind:"Argument",name:{kind:"Name",value:"search"},value:{kind:"Variable",name:{kind:"Name",value:"search"}}},{kind:"Argument",name:{kind:"Name",value:"statusFilter"},value:{kind:"Variable",name:{kind:"Name",value:"statusFilter"}}}],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"list"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"requestorId"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"concurrencyRules"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"cmd"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"description"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"status"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"timeout"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"updated"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"created"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"env"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"key"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"value"},arguments:[],directives:[]}]}}]}},{kind:"Field",name:{kind:"Name",value:"total"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"summary"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"status"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"count"},arguments:[],directives:[]}]}}]}}]}}],loc:{start:0,end:654}};t.loc.source={body:"query TaskManagerPage($itemsPerPage: Int!, $page: Int!, $search: String, $statusFilter: TaskStatusEnum) {\n config {\n taskManager {\n allowCreate\n }\n }\n tasks(itemsPerPage: $itemsPerPage, page: $page, search: $search, statusFilter: $statusFilter) {\n list {\n id\n requestorId\n concurrencyRules\n cmd\n description\n status\n timeout\n updated\n created\n env {\n key\n value\n }\n }\n total\n summary {\n status\n count\n }\n }\n}\n",name:"GraphQL request",locationOffset:{line:1,column:1}};function n(e,t){if("FragmentSpread"===e.kind)t.add(e.name.value);else if("VariableDefinition"===e.kind){var i=e.type;"NamedType"===i.kind&&t.add(i.name.value)}e.selectionSet&&e.selectionSet.selections.forEach((function(e){n(e,t)})),e.variableDefinitions&&e.variableDefinitions.forEach((function(e){n(e,t)})),e.definitions&&e.definitions.forEach((function(e){n(e,t)}))}var i={};function a(e,t){for(var n=0;n<e.definitions.length;n++){var i=e.definitions[n];if(i.name&&i.name.value==t)return i}}t.definitions.forEach((function(e){if(e.name){var t=new Set;n(e,t),i[e.name.value]=t}})),e.exports=t,e.exports.TaskManagerPage=function(e,t){var n={kind:e.kind,definitions:[a(e,t)]};e.hasOwnProperty("loc")&&(n.loc=e.loc);var s=i[t]||new Set,r=new Set,o=new Set;for(s.forEach((function(e){o.add(e)}));o.size>0;){var l=o;o=new Set,l.forEach((function(e){r.has(e)||(r.add(e),(i[e]||new Set).forEach((function(e){o.add(e)})))}))}return r.forEach((function(t){var i=a(e,t);i&&n.definitions.push(i)})),n}(t,"TaskManagerPage")}}]); //# sourceMappingURL=index.js.map?b78a441146dab75f7799