1
0
mirror of https://github.com/newnius/YAO-scheduler.git synced 2025-06-07 14:21:55 +00:00
This commit is contained in:
Newnius 2020-06-11 10:02:02 +08:00
parent c6c7166475
commit a1102e61db
4 changed files with 10 additions and 6 deletions

View File

@ -141,7 +141,7 @@ func (X Allocation) Crossover(Y eaopt.Genome, rng *rand.Rand) {
taskToNode := map[string]string{}
for nodeID, tasks := range X.TasksOnNode {
for _, task := range tasks {
taskToNode[task.Name] = nodeID
taskToNode[task.ID] = nodeID
}
}
@ -158,17 +158,17 @@ func (X Allocation) Crossover(Y eaopt.Genome, rng *rand.Rand) {
for _, task := range Y.(Allocation).TasksOnNode[nodeID] {
//fmt.Println(Y.(Allocation).TasksOnNode[nodeID])
idx := -1
nodeID2, ok := taskToNode[task.Name]
nodeID2, ok := taskToNode[task.ID]
if !ok {
log.Warn("Error", taskToNode, X.TasksOnNode, task.Name)
log.Warn("Error", taskToNode, X.TasksOnNode, task.ID)
}
for i, task2 := range X.TasksOnNode[nodeID2] {
if task2.Name == task.Name {
if task2.ID == task.ID {
idx = i
}
}
if idx == -1 {
log.Warn("Error 2", taskToNode, X.TasksOnNode, task.Name)
log.Warn("Error 2", taskToNode, X.TasksOnNode, task.ID)
}
//fmt.Println(X.TasksOnNode)
copy(X.TasksOnNode[nodeID2][idx:], X.TasksOnNode[nodeID2][idx+1:])

View File

@ -40,6 +40,9 @@ func serverAPI(w http.ResponseWriter, r *http.Request) {
msgSubmit.Code = 1
msgSubmit.Error = err.Error()
} else {
for i := range job.Tasks {
job.Tasks[i].ID = job.Name + ":" + job.Tasks[i].Name
}
scheduler.Schedule(job)
}
js, err := json.Marshal(msgSubmit)

View File

@ -965,7 +965,7 @@ func (pool *ResourcePool) doAcquireResource(job Job) []NodeStatus {
}
for i := range job.Tasks {
if job.Tasks[i].Name == task.Name {
if job.Tasks[i].ID == task.ID {
ress[i] = res
}
}

View File

@ -30,6 +30,7 @@ type Job struct {
}
type Task struct {
ID string `json:"id"`
Name string `json:"name"`
Job string `json:"job_name"`
Image string `json:"image"`