1
0
mirror of https://github.com/newnius/YAO-scheduler.git synced 2025-12-15 16:16:44 +00:00
This commit is contained in:
2020-05-05 17:22:11 +08:00
parent 59c2158cd1
commit 74f0b2b053

View File

@@ -12,6 +12,7 @@ type JobHistoryLogger struct {
jobStatus JobStatus jobStatus JobStatus
resources []NodeStatus resources []NodeStatus
killedFlag bool killedFlag bool
mu sync.Mutex
} }
var jobHistoryLoggerInstance *JobHistoryLogger var jobHistoryLoggerInstance *JobHistoryLogger
@@ -35,12 +36,16 @@ func (jhl *JobHistoryLogger) init() {
} }
func (jhl *JobHistoryLogger) submitJob(job Job) { func (jhl *JobHistoryLogger) submitJob(job Job) {
jhl.mu.Lock()
defer jhl.mu.Unlock()
log.Debug("submit job", job.Name) log.Debug("submit job", job.Name)
jhl.jobs[job.Name] = job jhl.jobs[job.Name] = job
jhl.tasks[job.Name] = []TaskStatus{} jhl.tasks[job.Name] = []TaskStatus{}
} }
func (jhl *JobHistoryLogger) updateJobStatus(jobName string, state State) { func (jhl *JobHistoryLogger) updateJobStatus(jobName string, state State) {
jhl.mu.Lock()
defer jhl.mu.Unlock()
log.Debug("update job status", jobName) log.Debug("update job status", jobName)
if job, ok := jhl.jobs[jobName]; ok { if job, ok := jhl.jobs[jobName]; ok {
job.Status = state job.Status = state
@@ -48,6 +53,8 @@ func (jhl *JobHistoryLogger) updateJobStatus(jobName string, state State) {
} }
func (jhl *JobHistoryLogger) submitTaskStatus(jobName string, task TaskStatus) { func (jhl *JobHistoryLogger) submitTaskStatus(jobName string, task TaskStatus) {
jhl.mu.Lock()
defer jhl.mu.Unlock()
log.Debug("submit job task status", jobName) log.Debug("submit job task status", jobName)
if tasks, ok := jhl.tasks[jobName]; ok { if tasks, ok := jhl.tasks[jobName]; ok {
jhl.tasks[jobName] = append(tasks, task) jhl.tasks[jobName] = append(tasks, task)
@@ -55,6 +62,8 @@ func (jhl *JobHistoryLogger) submitTaskStatus(jobName string, task TaskStatus) {
} }
func (jhl *JobHistoryLogger) getTaskStatus(jobName string) []TaskStatus { func (jhl *JobHistoryLogger) getTaskStatus(jobName string) []TaskStatus {
jhl.mu.Lock()
defer jhl.mu.Unlock()
if _, ok := jhl.tasks[jobName]; ok { if _, ok := jhl.tasks[jobName]; ok {
return jhl.tasks[jobName] return jhl.tasks[jobName]
} }