34 lines
661 B
Go
34 lines
661 B
Go
package crd
|
|
|
|
import (
|
|
"flink-kube-operator/internal/crd/v1alpha1"
|
|
"flink-kube-operator/pkg"
|
|
|
|
"k8s.io/apimachinery/pkg/types"
|
|
)
|
|
|
|
// var jobs = map[types.UID]*v1alpha1.FlinkJob{}
|
|
var jobs = pkg.SafeMap[types.UID, *v1alpha1.FlinkJob]{}
|
|
|
|
func (crd *Crd) repsert(job *v1alpha1.FlinkJob) {
|
|
jobs.Store(job.GetUID(), job)
|
|
}
|
|
|
|
func (crd *Crd) remove(uid types.UID) {
|
|
jobs.Delete(uid)
|
|
}
|
|
|
|
func GetJob(uid types.UID) v1alpha1.FlinkJob {
|
|
job, _ := jobs.Load(uid)
|
|
return *job.DeepCopy()
|
|
}
|
|
|
|
func GetAllJobKeys() []types.UID {
|
|
keys := []types.UID{}
|
|
jobs.Range(func(k types.UID, value *v1alpha1.FlinkJob) bool {
|
|
keys = append(keys, k)
|
|
return true
|
|
})
|
|
return keys
|
|
}
|