package managed_job // import ( // "encoding/json" // "flink-kube-operator/internal/crd/v1alpha1" // "time" // "github.com/tidwall/buntdb" // ) // // get state of job from local db // func (job *ManagedJob) loadState() { // job.db.View( // func(tx *buntdb.Tx) error { // if val, err := tx.Get(string(job.def.GetUID())); err != nil { // return err // } else { // return json.Unmarshal([]byte(val), job.state) // } // }) // } // // save state of job to local db // func (job *ManagedJob) updateState(state jobState) { // job.state = &state // value, _ := json.Marshal(job.state) // job.db.Update(func(tx *buntdb.Tx) error { // _, _, err := tx.Set(string(job.def.GetUID()), string(value), nil) // return err // }) // } // func (job *ManagedJob) setError(errMsg string) { // if job.state == nil { // job.state = &jobState{} // } // job.state.Error = &errMsg // job.state.Status = v1alpha1.JobStatusError // job.updateState(*job.state) // job.crd.SetJobStatus(job.def.UID, v1alpha1.FlinkJobStatus{ // JobStatus: job.state.Status, // }) // } // func (job *ManagedJob) setSavepointLocation(savepointId string) { // job.state.LastSavepointPath = &savepointId // job.state.SavepointTriggerId = nil // n := time.Now() // job.state.LastSavepointDate = &n // job.updateState(*job.state) // job.crd.SetJobStatus(job.def.UID, v1alpha1.FlinkJobStatus{ // LastSavepointPath: job.state.LastSavepointPath, // }) // } // func (job *ManagedJob) setSavepointTriggerId(savepointReqId string) { // job.state.SavepointTriggerId = &savepointReqId // job.updateState(*job.state) // } // func (job *ManagedJob) removeSavepointTriggerId() { // job.state.SavepointTriggerId = nil // job.updateState(*job.state) // } // func (job *ManagedJob) SetStatus(status JobStatus) { // job.state.Status = status // job.updateState(*job.state) // } func (job *ManagedJob) GetJobId() *string { if job.def.Status.JobId != nil { return job.def.Status.JobId } else { return nil } }