Browse Source
* [Feature-2815][server] One worker can belong to different workergroups * Feature: Add test cases * Update MonitorService.java * Update MonitorService.java Co-authored-by: dailidong <dailidong66@gmail.com>pull/3/MERGE
Yichao Yang
4 years ago
committed by
GitHub
13 changed files with 525 additions and 127 deletions
@ -0,0 +1,122 @@ |
|||||||
|
/* |
||||||
|
* Licensed to the Apache Software Foundation (ASF) under one or more |
||||||
|
* contributor license agreements. See the NOTICE file distributed with |
||||||
|
* this work for additional information regarding copyright ownership. |
||||||
|
* The ASF licenses this file to You under the Apache License, Version 2.0 |
||||||
|
* (the "License"); you may not use this file except in compliance with |
||||||
|
* the License. You may obtain a copy of the License at |
||||||
|
* |
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
* |
||||||
|
* Unless required by applicable law or agreed to in writing, software |
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS, |
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||||
|
* See the License for the specific language governing permissions and |
||||||
|
* limitations under the License. |
||||||
|
*/ |
||||||
|
package org.apache.dolphinscheduler.common.model; |
||||||
|
|
||||||
|
|
||||||
|
import java.util.Date; |
||||||
|
import java.util.Set; |
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat; |
||||||
|
|
||||||
|
/** |
||||||
|
* server |
||||||
|
*/ |
||||||
|
public class WorkerServerModel { |
||||||
|
|
||||||
|
/** |
||||||
|
* id |
||||||
|
*/ |
||||||
|
private int id; |
||||||
|
|
||||||
|
/** |
||||||
|
* host |
||||||
|
*/ |
||||||
|
private String host; |
||||||
|
|
||||||
|
/** |
||||||
|
* port |
||||||
|
*/ |
||||||
|
private int port; |
||||||
|
|
||||||
|
/** |
||||||
|
* worker directories in zookeeper |
||||||
|
*/ |
||||||
|
private Set<String> zkDirectories; |
||||||
|
|
||||||
|
/** |
||||||
|
* resource info about CPU and memory |
||||||
|
*/ |
||||||
|
private String resInfo; |
||||||
|
|
||||||
|
/** |
||||||
|
* create time |
||||||
|
*/ |
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") |
||||||
|
private Date createTime; |
||||||
|
|
||||||
|
/** |
||||||
|
* last heart beat time |
||||||
|
*/ |
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") |
||||||
|
private Date lastHeartbeatTime; |
||||||
|
|
||||||
|
public int getId() { |
||||||
|
return id; |
||||||
|
} |
||||||
|
|
||||||
|
public void setId(int id) { |
||||||
|
this.id = id; |
||||||
|
} |
||||||
|
|
||||||
|
public Date getCreateTime() { |
||||||
|
return createTime; |
||||||
|
} |
||||||
|
|
||||||
|
public void setCreateTime(Date createTime) { |
||||||
|
this.createTime = createTime; |
||||||
|
} |
||||||
|
|
||||||
|
public Set<String> getZkDirectories() { |
||||||
|
return zkDirectories; |
||||||
|
} |
||||||
|
|
||||||
|
public void setZkDirectories(Set<String> zkDirectories) { |
||||||
|
this.zkDirectories = zkDirectories; |
||||||
|
} |
||||||
|
|
||||||
|
public Date getLastHeartbeatTime() { |
||||||
|
return lastHeartbeatTime; |
||||||
|
} |
||||||
|
|
||||||
|
public void setLastHeartbeatTime(Date lastHeartbeatTime) { |
||||||
|
this.lastHeartbeatTime = lastHeartbeatTime; |
||||||
|
} |
||||||
|
|
||||||
|
public String getResInfo() { |
||||||
|
return resInfo; |
||||||
|
} |
||||||
|
|
||||||
|
public void setResInfo(String resInfo) { |
||||||
|
this.resInfo = resInfo; |
||||||
|
} |
||||||
|
|
||||||
|
public String getHost() { |
||||||
|
return host; |
||||||
|
} |
||||||
|
|
||||||
|
public void setHost(String host) { |
||||||
|
this.host = host; |
||||||
|
} |
||||||
|
|
||||||
|
public int getPort() { |
||||||
|
return port; |
||||||
|
} |
||||||
|
|
||||||
|
public void setPort(int port) { |
||||||
|
this.port = port; |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,112 @@ |
|||||||
|
/* |
||||||
|
* Licensed to the Apache Software Foundation (ASF) under one or more |
||||||
|
* contributor license agreements. See the NOTICE file distributed with |
||||||
|
* this work for additional information regarding copyright ownership. |
||||||
|
* The ASF licenses this file to You under the Apache License, Version 2.0 |
||||||
|
* (the "License"); you may not use this file except in compliance with |
||||||
|
* the License. You may obtain a copy of the License at |
||||||
|
* |
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0 |
||||||
|
* |
||||||
|
* Unless required by applicable law or agreed to in writing, software |
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS, |
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||||
|
* See the License for the specific language governing permissions and |
||||||
|
* limitations under the License. |
||||||
|
*/ |
||||||
|
<template> |
||||||
|
<div class="container"> |
||||||
|
<div class="title-box"> |
||||||
|
<span class="name">{{$t('zkDirectory')}}</span> |
||||||
|
</div> |
||||||
|
|
||||||
|
<div class="table-box" v-if="zkDirectories.length > 0"> |
||||||
|
<table class="fixed"> |
||||||
|
<caption><!-- placeHolder --></caption> |
||||||
|
<tr> |
||||||
|
<th scope="col" style="min-width: 40px"> |
||||||
|
<span>#</span> |
||||||
|
</th> |
||||||
|
<th scope="col" style="min-width: 40px"> |
||||||
|
<span>{{$t('zkDirectory')}}</span> |
||||||
|
</th> |
||||||
|
</tr> |
||||||
|
<tr v-for="(item, $index) in zkDirectories" :key="item.id"> |
||||||
|
<td> |
||||||
|
<span>{{$index + 1}}</span> |
||||||
|
</td> |
||||||
|
<td> |
||||||
|
<span>{{item.zkDirectory}}</span> |
||||||
|
</td> |
||||||
|
</tr> |
||||||
|
</table> |
||||||
|
</div> |
||||||
|
|
||||||
|
<div v-if="zkDirectories.length === 0"> |
||||||
|
<m-no-data><!----></m-no-data> |
||||||
|
</div> |
||||||
|
|
||||||
|
<div v-if="zkDirectories.length > 0"> |
||||||
|
<div class="bottom-box"> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</template> |
||||||
|
|
||||||
|
<script> |
||||||
|
import mNoData from '@/module/components/noData/noData' |
||||||
|
|
||||||
|
export default { |
||||||
|
name: 'zookeeperDirectoriesPopup', |
||||||
|
data () { |
||||||
|
return { |
||||||
|
tableHeaders: [ |
||||||
|
{ |
||||||
|
label: $t('zkDirectory'), |
||||||
|
prop: 'zkDirectory' |
||||||
|
} |
||||||
|
] |
||||||
|
} |
||||||
|
}, |
||||||
|
props: { |
||||||
|
zkDirectories: Array |
||||||
|
}, |
||||||
|
components: { mNoData } |
||||||
|
} |
||||||
|
</script> |
||||||
|
|
||||||
|
<style lang="scss" rel="stylesheet/scss"> |
||||||
|
.container { |
||||||
|
width: 500px; |
||||||
|
.title-box { |
||||||
|
height: 61px; |
||||||
|
border-bottom: 1px solid #DCDEDC; |
||||||
|
position: relative; |
||||||
|
.name { |
||||||
|
position: absolute; |
||||||
|
left: 24px; |
||||||
|
top: 18px; |
||||||
|
font-size: 16px; |
||||||
|
} |
||||||
|
} |
||||||
|
.bottom-box { |
||||||
|
position: absolute; |
||||||
|
bottom: 0; |
||||||
|
left: 0; |
||||||
|
width: 100%; |
||||||
|
text-align: right; |
||||||
|
height: 60px; |
||||||
|
line-height: 60px; |
||||||
|
border-top: 1px solid #DCDEDC; |
||||||
|
background: #fff; |
||||||
|
.ans-page { |
||||||
|
display: inline-block; |
||||||
|
} |
||||||
|
} |
||||||
|
.table-box { |
||||||
|
overflow-y: scroll; |
||||||
|
height: calc(100vh - 61px); |
||||||
|
padding-bottom: 60px; |
||||||
|
} |
||||||
|
} |
||||||
|
</style> |
Loading…
Reference in new issue