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
5 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