fix leveldb problems
Former-commit-id: f17fe73babf8910a2031323ffb2a28979082a4dd
This commit is contained in:
@@ -1,7 +1,9 @@
|
||||
package monitor
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"local/rssmon3/config"
|
||||
"local/storage"
|
||||
"log"
|
||||
|
||||
"github.com/golang-collections/go-datastructures/queue"
|
||||
@@ -17,13 +19,15 @@ func newQueue() (*Queue, error) {
|
||||
q := queue.NewPriorityQueue(1)
|
||||
db := config.Values().DB
|
||||
keys, err := db.List([]string{nsQueued})
|
||||
if err != nil {
|
||||
if err == storage.ErrNotFound {
|
||||
keys = []string{}
|
||||
} else if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
for _, key := range keys {
|
||||
b, err := db.Get(key, nsQueued)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
return nil, fmt.Errorf("failed to get %s:%s: %v", nsQueued, key, err)
|
||||
}
|
||||
i := &Item{}
|
||||
if err := i.Decode(b); err != nil {
|
||||
|
||||
Reference in New Issue
Block a user