1
0
mirror of https://github.com/newnius/YAO-scheduler.git synced 2025-12-12 23:36:44 +00:00
This commit is contained in:
2020-04-30 22:19:24 +08:00
parent 1751e48eaa
commit 1447192a45
2 changed files with 8 additions and 5 deletions

View File

@@ -77,12 +77,14 @@ func (optimizer *Optimizer) feed(job string, utils []int) {
if _, ok := optimizer.predicts[jobName]; !ok {
optimizer.predicts[jobName] = &OptimizerJobExecutionTime{}
}
postCnt *= optimizer.heartbeatInterval
preCnt *= optimizer.heartbeatInterval
postTime := postCnt * optimizer.heartbeatInterval
preTime := preCnt * optimizer.heartbeatInterval
totalTime := len(utils) * optimizer.heartbeatInterval
predict := optimizer.predicts[jobName]
predict.Pre = ((predict.Pre * predict.Version) + preCnt) / (predict.Version + 1)
predict.Post = ((predict.Post * predict.Version) + postCnt) / (predict.Version + 1)
predict.Total = ((predict.Total * predict.Version) + len(utils)) / (predict.Version + 1)
predict.Pre = ((predict.Pre * predict.Version) + preTime) / (predict.Version + 1)
predict.Post = ((predict.Post * predict.Version) + postTime) / (predict.Version + 1)
predict.Total = ((predict.Total * predict.Version) + totalTime) / (predict.Version + 1)
predict.Main = predict.Total - predict.Pre - predict.Post
if predict.Main < 0 {
predict.Main = 0

View File

@@ -313,5 +313,6 @@ func (pool *ResourcePool) pickNode(nodes []*NodeStatus) *NodeStatus {
/* sort */
return nodes[0]
}