mirror of
https://github.com/newnius/YAO-scheduler.git
synced 2025-06-07 22:31:55 +00:00
update
This commit is contained in:
parent
ee4cff5d55
commit
7d71b7cbd1
@ -47,14 +47,20 @@ func (optimizer *Optimizer) init(conf Configuration) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (optimizer *Optimizer) feedStats(job Job, role string, stats [][]TaskStatus) {
|
func (optimizer *Optimizer) feedStats(job Job, role string, stats [][]TaskStatus) {
|
||||||
|
if len(stats) == 0 {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
str := strings.Split(job.Name, "-")
|
||||||
|
if len(str) == 1 {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
jobName := str[0]
|
||||||
go func() {
|
go func() {
|
||||||
|
|
||||||
var UtilsCPU []float64
|
var UtilsCPU []float64
|
||||||
var Mems []float64
|
var Mems []float64
|
||||||
var BwRxs []float64
|
var BwRxs []float64
|
||||||
var BwTxs []float64
|
var BwTxs []float64
|
||||||
str := strings.Split(job.Name, "-")
|
|
||||||
if len(str) == 2 {
|
|
||||||
jobName := str[0]
|
|
||||||
for _, stat := range stats {
|
for _, stat := range stats {
|
||||||
for _, task := range stat {
|
for _, task := range stat {
|
||||||
UtilsCPU = append(UtilsCPU, task.UtilCPU)
|
UtilsCPU = append(UtilsCPU, task.UtilCPU)
|
||||||
@ -63,7 +69,7 @@ func (optimizer *Optimizer) feedStats(job Job, role string, stats [][]TaskStatus
|
|||||||
BwTxs = append(BwTxs, task.BWTx)
|
BwTxs = append(BwTxs, task.BWTx)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
optimizer.stats[jobName] = map[string]float64{
|
tmp := map[string]float64{
|
||||||
"cpu": optimizer.max(UtilsCPU),
|
"cpu": optimizer.max(UtilsCPU),
|
||||||
"cpu_std": optimizer.std(UtilsCPU),
|
"cpu_std": optimizer.std(UtilsCPU),
|
||||||
"cpu_mean": optimizer.mean(UtilsCPU),
|
"cpu_mean": optimizer.mean(UtilsCPU),
|
||||||
@ -71,7 +77,8 @@ func (optimizer *Optimizer) feedStats(job Job, role string, stats [][]TaskStatus
|
|||||||
"bw_rx": optimizer.mean(BwRxs),
|
"bw_rx": optimizer.mean(BwRxs),
|
||||||
"bw_tx": optimizer.mean(BwTxs),
|
"bw_tx": optimizer.mean(BwTxs),
|
||||||
}
|
}
|
||||||
}
|
labels, _ := json.Marshal(tmp)
|
||||||
|
|
||||||
cmd := job.Tasks[0].Cmd
|
cmd := job.Tasks[0].Cmd
|
||||||
params := map[string]int{}
|
params := map[string]int{}
|
||||||
|
|
||||||
@ -118,7 +125,29 @@ func (optimizer *Optimizer) feedStats(job Job, role string, stats [][]TaskStatus
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
log.Info(job.Name, params)
|
//log.Info(job.Name, params)
|
||||||
|
|
||||||
|
features, _ := json.Marshal(params)
|
||||||
|
|
||||||
|
spider := Spider{}
|
||||||
|
spider.Method = "GET"
|
||||||
|
spider.URL = "http://yao-optimizer:8080/feed?job=" + jobName + "&features=" + string(features) + "&labels=" + string(labels)
|
||||||
|
|
||||||
|
err := spider.do()
|
||||||
|
if err != nil {
|
||||||
|
log.Warn(err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
resp := spider.getResponse()
|
||||||
|
if _, err := ioutil.ReadAll(resp.Body); err != nil {
|
||||||
|
log.Warn(err)
|
||||||
|
}
|
||||||
|
resp.Body.Close()
|
||||||
|
if err != nil {
|
||||||
|
log.Warn(err)
|
||||||
|
return
|
||||||
|
}
|
||||||
}()
|
}()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user