func (db *BoltJobDB) GetAll() ([]*job.Job, error) { allJobs := []*job.Job{} err := db.dbConn.Update(func(tx *bolt.Tx) error { bucket, err := tx.CreateBucketIfNotExists(jobBucket) if err != nil { return err } err = bucket.ForEach(func(k, v []byte) error { buffer := bytes.NewBuffer(v) dec := gob.NewDecoder(buffer) j := new(job.Job) err := dec.Decode(j) if err != nil { return err } err = j.InitDelayDuration(false) if err != nil { return err } allJobs = append(allJobs, j) return nil }) return err }) return allJobs, err }