mirror of
https://github.com/newnius/YAO-scheduler.git
synced 2025-06-07 14:21:55 +00:00
update
This commit is contained in:
parent
c6c7166475
commit
a1102e61db
10
src/ga.go
10
src/ga.go
@ -141,7 +141,7 @@ func (X Allocation) Crossover(Y eaopt.Genome, rng *rand.Rand) {
|
|||||||
taskToNode := map[string]string{}
|
taskToNode := map[string]string{}
|
||||||
for nodeID, tasks := range X.TasksOnNode {
|
for nodeID, tasks := range X.TasksOnNode {
|
||||||
for _, task := range tasks {
|
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] {
|
for _, task := range Y.(Allocation).TasksOnNode[nodeID] {
|
||||||
//fmt.Println(Y.(Allocation).TasksOnNode[nodeID])
|
//fmt.Println(Y.(Allocation).TasksOnNode[nodeID])
|
||||||
idx := -1
|
idx := -1
|
||||||
nodeID2, ok := taskToNode[task.Name]
|
nodeID2, ok := taskToNode[task.ID]
|
||||||
if !ok {
|
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] {
|
for i, task2 := range X.TasksOnNode[nodeID2] {
|
||||||
if task2.Name == task.Name {
|
if task2.ID == task.ID {
|
||||||
idx = i
|
idx = i
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if idx == -1 {
|
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)
|
//fmt.Println(X.TasksOnNode)
|
||||||
copy(X.TasksOnNode[nodeID2][idx:], X.TasksOnNode[nodeID2][idx+1:])
|
copy(X.TasksOnNode[nodeID2][idx:], X.TasksOnNode[nodeID2][idx+1:])
|
||||||
|
@ -40,6 +40,9 @@ func serverAPI(w http.ResponseWriter, r *http.Request) {
|
|||||||
msgSubmit.Code = 1
|
msgSubmit.Code = 1
|
||||||
msgSubmit.Error = err.Error()
|
msgSubmit.Error = err.Error()
|
||||||
} else {
|
} else {
|
||||||
|
for i := range job.Tasks {
|
||||||
|
job.Tasks[i].ID = job.Name + ":" + job.Tasks[i].Name
|
||||||
|
}
|
||||||
scheduler.Schedule(job)
|
scheduler.Schedule(job)
|
||||||
}
|
}
|
||||||
js, err := json.Marshal(msgSubmit)
|
js, err := json.Marshal(msgSubmit)
|
||||||
|
@ -965,7 +965,7 @@ func (pool *ResourcePool) doAcquireResource(job Job) []NodeStatus {
|
|||||||
}
|
}
|
||||||
|
|
||||||
for i := range job.Tasks {
|
for i := range job.Tasks {
|
||||||
if job.Tasks[i].Name == task.Name {
|
if job.Tasks[i].ID == task.ID {
|
||||||
ress[i] = res
|
ress[i] = res
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -30,6 +30,7 @@ type Job struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
type Task struct {
|
type Task struct {
|
||||||
|
ID string `json:"id"`
|
||||||
Name string `json:"name"`
|
Name string `json:"name"`
|
||||||
Job string `json:"job_name"`
|
Job string `json:"job_name"`
|
||||||
Image string `json:"image"`
|
Image string `json:"image"`
|
||||||
|
Loading…
Reference in New Issue
Block a user