mirror of
https://github.com/newnius/YAO-scheduler.git
synced 2025-12-16 00:26:43 +00:00
add version, jhl
This commit is contained in:
@@ -1,2 +1,55 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
log "github.com/sirupsen/logrus"
|
||||
"sync"
|
||||
)
|
||||
|
||||
type JobHistoryLogger struct {
|
||||
scheduler Scheduler
|
||||
jobs map[string]Job
|
||||
tasks map[string][]TaskStatus
|
||||
jobStatus JobStatus
|
||||
resources []NodeStatus
|
||||
killedFlag bool
|
||||
}
|
||||
|
||||
var jobHistoryLoggerInstance *JobHistoryLogger
|
||||
var jobHistoryLoggerInstanceLock sync.Mutex
|
||||
|
||||
func InstanceJobHistoryLogger() *JobHistoryLogger {
|
||||
defer jobHistoryLoggerInstanceLock.Unlock()
|
||||
jobHistoryLoggerInstanceLock.Lock()
|
||||
|
||||
if jobHistoryLoggerInstance == nil {
|
||||
jobHistoryLoggerInstance = &JobHistoryLogger{}
|
||||
}
|
||||
return jobHistoryLoggerInstance
|
||||
}
|
||||
|
||||
func (jhl *JobHistoryLogger) init() {
|
||||
log.Info("jhl init")
|
||||
jhl.jobs = map[string]Job{}
|
||||
jhl.tasks = map[string][]TaskStatus{}
|
||||
/* retrieve list */
|
||||
}
|
||||
|
||||
func (jhl *JobHistoryLogger) submitJob(job Job) {
|
||||
log.Info("submit job", job.Name)
|
||||
jhl.jobs[job.Name] = job
|
||||
jhl.tasks[job.Name] = []TaskStatus{}
|
||||
}
|
||||
|
||||
func (jhl *JobHistoryLogger) updateJobStatus(jobName string, state State) {
|
||||
log.Info("update job status", jobName)
|
||||
if job, ok := jhl.jobs[jobName]; ok {
|
||||
job.Status = state
|
||||
}
|
||||
}
|
||||
|
||||
func (jhl *JobHistoryLogger) submitTaskStatus(jobName string, task TaskStatus) {
|
||||
log.Info("submit job task", jobName)
|
||||
if tasks, ok := jhl.tasks[jobName]; ok {
|
||||
jhl.tasks[jobName] = append(tasks, task)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user