Commit 6eeefaf6 authored by duanjinfei's avatar duanjinfei

update monitor nodemanager client

parent 6f6d3c34
...@@ -4,10 +4,16 @@ import ( ...@@ -4,10 +4,16 @@ import (
"example.com/m/log" "example.com/m/log"
"example.com/m/nm" "example.com/m/nm"
"github.com/astaxie/beego" "github.com/astaxie/beego"
_ "net/http/pprof"
) )
func main() { func main() {
log.InitLog(log.LogConfig{Path: "logs", Level: "debug", Save: 3}) log.InitLog(log.LogConfig{Path: "logs", Level: "debug", Save: 3})
//go func() {
// log.Println(http.ListenAndServe("localhost:6060", nil))
//}()
//runtime.SetBlockProfileRate(1) // 开启对阻塞操作的跟踪,block
//runtime.SetMutexProfileFraction(1) // 开启对锁调用的跟踪,mutex
nm.StartMonitor() nm.StartMonitor()
beego.Run() beego.Run()
} }
...@@ -32,7 +32,7 @@ type ModelInfo struct { ...@@ -32,7 +32,7 @@ type ModelInfo struct {
ImageName string `json:"image_name"` ImageName string `json:"image_name"`
DiskSize int64 `json:"disk_size"` DiskSize int64 `json:"disk_size"`
MemorySize int64 `json:"memory_size"` MemorySize int64 `json:"memory_size"`
IsImageExist bool `json:"is_image_delete"` IsImageExist bool
} }
type ComputeResult struct { type ComputeResult struct {
...@@ -48,6 +48,7 @@ type NodeManagerClient struct { ...@@ -48,6 +48,7 @@ type NodeManagerClient struct {
Endpoint string Endpoint string
Client nodeManagerV1.NodeManagerServiceClient Client nodeManagerV1.NodeManagerServiceClient
Status bool Status bool
IsDel bool
} }
func (n *NodeManagerClient) GetLastHeartTime() int64 { func (n *NodeManagerClient) GetLastHeartTime() int64 {
......
This diff is collapsed.
...@@ -93,19 +93,6 @@ func (t *TaskHandler) ComputeTaskHandler(taskMsg *nodeManagerV1.PushTaskMessage) ...@@ -93,19 +93,6 @@ func (t *TaskHandler) ComputeTaskHandler(taskMsg *nodeManagerV1.PushTaskMessage)
log.Errorf("failed to unmarshal task cmd: %s", err.Error()) log.Errorf("failed to unmarshal task cmd: %s", err.Error())
return return
} }
var externalPort int64
for {
// 设置种子以确保每次运行时生成不同的随机数序列
rand.Seed(time.Now().UnixNano())
// 生成一个介于 0 和 100 之间的随机整数
externalPort = rand.Int63n(10001) + 10000
fmt.Println("t.DockerOp.UsedExternalPort[externalPort]:", t.DockerOp.UsedExternalPort[externalPort])
if t.DockerOp.UsedExternalPort[externalPort] {
continue
}
break
}
taskCmd.DockerCmd.HostPort = strconv.FormatInt(externalPort, 10)
images, err := t.DockerOp.PsImages() images, err := t.DockerOp.PsImages()
if err != nil { if err != nil {
...@@ -127,10 +114,8 @@ func (t *TaskHandler) ComputeTaskHandler(taskMsg *nodeManagerV1.PushTaskMessage) ...@@ -127,10 +114,8 @@ func (t *TaskHandler) ComputeTaskHandler(taskMsg *nodeManagerV1.PushTaskMessage)
} }
log.Println(image.ID) log.Println(image.ID)
} }
containers := t.DockerOp.ListContainer() containers := t.DockerOp.ListContainer()
isImageRunExist := false isImageRunExist := false
for _, container := range containers { for _, container := range containers {
if container.ImageID == imageId { if container.ImageID == imageId {
taskCmd.ApiUrl = fmt.Sprintf(taskCmd.ApiUrl, container.Ports[0].PublicPort) taskCmd.ApiUrl = fmt.Sprintf(taskCmd.ApiUrl, container.Ports[0].PublicPort)
...@@ -139,6 +124,19 @@ func (t *TaskHandler) ComputeTaskHandler(taskMsg *nodeManagerV1.PushTaskMessage) ...@@ -139,6 +124,19 @@ func (t *TaskHandler) ComputeTaskHandler(taskMsg *nodeManagerV1.PushTaskMessage)
} }
} }
if !isImageRunExist { if !isImageRunExist {
var externalPort int64
for {
// 设置种子以确保每次运行时生成不同的随机数序列
rand.Seed(time.Now().UnixNano())
// 生成一个介于 0 和 100 之间的随机整数
externalPort = rand.Int63n(10001) + 10000
log.Info("DockerOp UsedExternalPort :", t.DockerOp.UsedExternalPort[externalPort])
if t.DockerOp.UsedExternalPort[externalPort] {
continue
}
break
}
taskCmd.DockerCmd.HostPort = strconv.FormatInt(externalPort, 10)
taskCmd.ApiUrl = fmt.Sprintf(taskCmd.ApiUrl, externalPort) taskCmd.ApiUrl = fmt.Sprintf(taskCmd.ApiUrl, externalPort)
if int64(len(containers)) == conf.GetConfig().ContainerNum { if int64(len(containers)) == conf.GetConfig().ContainerNum {
//todo: 待定,需要根据权重去停止哪个容器 //todo: 待定,需要根据权重去停止哪个容器
......
...@@ -21,8 +21,8 @@ type ProofWorker struct { ...@@ -21,8 +21,8 @@ type ProofWorker struct {
func NewProofWorker() *ProofWorker { func NewProofWorker() *ProofWorker {
return &ProofWorker{ return &ProofWorker{
productProofChan: make(chan *witnessV1.Proof, 0), productProofChan: make(chan *witnessV1.Proof, 1000),
consumeProofChan: make(chan []*witnessV1.Proof, 0), consumeProofChan: make(chan []*witnessV1.Proof, 1000),
isCommitProof: make(map[string]bool, 0), isCommitProof: make(map[string]bool, 0),
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment