feat: add manager

This commit is contained in:
2024-11-30 23:36:44 +03:30
parent d8b87ac6ee
commit 6bd197b812
14 changed files with 109 additions and 67 deletions

View File

@@ -13,7 +13,7 @@ import (
func (job *ManagedJob) loadState() {
err := job.db.View(
func(tx *buntdb.Tx) error {
if val, err := tx.Get(job.def.Key); err != nil {
if val, err := tx.Get(string(job.def.GetUID())); err != nil {
return err
} else {
return json.Unmarshal([]byte(val), job.state)
@@ -30,15 +30,15 @@ func (job *ManagedJob) updateState(state jobState) {
value, _ := json.Marshal(job.state)
job.db.Update(func(tx *buntdb.Tx) error {
_, _, err := tx.Set(job.def.Key, string(value), nil)
if err != nil {
return err
}
return tx.Commit()
_, _, 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 = JobStatusError
job.updateState(*job.state)