1
0
mirror of https://github.com/newnius/YAO-scheduler.git synced 2025-06-07 22:31:55 +00:00
This commit is contained in:
Newnius 2020-04-12 10:44:32 +08:00
parent 6714dd5779
commit f398523ba6
4 changed files with 25 additions and 2 deletions

View File

@ -13,4 +13,12 @@
``` ```
?action=jhl_job_status&job= ?action=jhl_job_status&job=
```
**GetBindings**
GPU is occupied by which job(s)
```
?action=get_bindings
``` ```

View File

@ -20,7 +20,7 @@ type JobManager struct {
} }
func (jm *JobManager) start() { func (jm *JobManager) start() {
log.Info("start job ", jm.job.Name) log.Info("start job ", jm.job.Name, time.Now())
jm.jobStatus = JobStatus{Name: jm.job.Name, tasks: map[string]TaskStatus{}} jm.jobStatus = JobStatus{Name: jm.job.Name, tasks: map[string]TaskStatus{}}
network := jm.scheduler.AcquireNetwork() network := jm.scheduler.AcquireNetwork()
@ -50,6 +50,8 @@ func (jm *JobManager) start() {
} }
jm.scheduler.UpdateProgress(jm.job.Name, Running) jm.scheduler.UpdateProgress(jm.job.Name, Running)
log.Info("ready to run job ", jm.job.Name, time.Now())
/* bring up containers */ /* bring up containers */
for i := range jm.job.Tasks { for i := range jm.job.Tasks {
if jm.killedFlag { if jm.killedFlag {

View File

@ -6,6 +6,7 @@ import (
log "github.com/sirupsen/logrus" log "github.com/sirupsen/logrus"
"encoding/json" "encoding/json"
"os" "os"
"time"
) )
var addr = flag.String("addr", "0.0.0.0:8080", "http service address") var addr = flag.String("addr", "0.0.0.0:8080", "http service address")
@ -35,6 +36,7 @@ func serverAPI(w http.ResponseWriter, r *http.Request) {
log.Debug("job_submit") log.Debug("job_submit")
msgSubmit := MsgSubmit{Code: 0} msgSubmit := MsgSubmit{Code: 0}
err := json.Unmarshal([]byte(string(r.PostFormValue("job"))), &job) err := json.Unmarshal([]byte(string(r.PostFormValue("job"))), &job)
log.Info("Submit job", job.Name, time.Now())
if err != nil { if err != nil {
msgSubmit.Code = 1 msgSubmit.Code = 1
msgSubmit.Error = err.Error() msgSubmit.Error = err.Error()
@ -95,6 +97,13 @@ func serverAPI(w http.ResponseWriter, r *http.Request) {
w.Write(js) w.Write(js)
break break
case "get_bindings":
log.Debug("get_bindings")
js, _ := json.Marshal(pool.getBindings())
w.Header().Set("Content-Type", "application/json")
w.Write(js)
break
case "group_list": case "group_list":
log.Debug("group_list") log.Debug("group_list")
js, _ := json.Marshal(InstanceOfGroupManager().List()) js, _ := json.Marshal(InstanceOfGroupManager().List())

View File

@ -118,7 +118,7 @@ func (pool *ResourcePool) update(node NodeStatus) {
return return
} }
log.Info(node.Version, "!=", pool.versions[node.ClientID]) log.Debug(node.Version, "!=", pool.versions[node.ClientID])
pool.counter++ pool.counter++
status, ok := pool.nodes[node.ClientID] status, ok := pool.nodes[node.ClientID]
@ -208,3 +208,7 @@ func (pool *ResourcePool) detach(GPU string, job string) {
delete(list, job) delete(list, job)
} }
} }
func (pool *ResourcePool) getBindings() map[string]map[string]bool{
return pool.bindings
}