// Get returns a persisted Job. func (d DB) Get(id string) (*job.Job, error) { val, err := d.conn.Do("HGET", HashKey, id) if err != nil { return nil, err } if val == nil { return nil, job.ErrJobNotFound(id) } return job.NewFromBytes(val.([]byte)) }
func (db *BoltJobDB) Get(id string) (*job.Job, error) { j := new(job.Job) err := db.dbConn.View(func(tx *bolt.Tx) error { b := tx.Bucket(jobBucket) v := b.Get([]byte(id)) if v == nil { return job.ErrJobNotFound(id) } buf := bytes.NewBuffer(v) err := gob.NewDecoder(buf).Decode(j) return err }) if err != nil { return nil, err } j.Id = id return j, nil }