1
0
Fork 0
bareos-zabbix-check/pkg/job/utils.go

35 lines
828 B
Go

package job
// KeepOldestOnly filters a job list and keeps only the most recent entry for a job name
func KeepOldestOnly(jobs []Job) (results []Job) {
outerLoop:
for i := 0; i < len(jobs); i++ {
job := jobs[i]
for j := 0; j < len(results); j++ {
result := results[j]
if result.Name == job.Name {
continue outerLoop
}
}
for j := i + 1; j < len(jobs); j++ {
sec := jobs[j]
if sec.Name == job.Name && sec.Timestamp > job.Timestamp {
job = sec
}
}
results = append(results, job)
}
return
}
// KeepSuccessOnly returns only the successful jobs from a job list (suiatble to write a new spool file)
func KeepSuccessOnly(jobs []Job) (result []Job) {
result = make([]Job, 0)
for i := 0; i < len(jobs); i++ {
job := jobs[i]
if job.Success {
result = append(result, job)
}
}
return
}