diff --git a/main.go b/main.go index 41782b1..77e6c24 100644 --- a/main.go +++ b/main.go @@ -218,7 +218,7 @@ func (a *appData) indexAlbum(stopChan <-chan struct{}, if err != nil { a.errors <- fmt.Errorf("[INDEX]: delete failed: %s", err) } - a.dbLock <- true + } } } @@ -227,12 +227,14 @@ func (a *appData) cacheAlbumDescription(getAlbum <-chan *Album, toIndex chan<- * nbAlbums := 0 for album := range getAlbum { nbAlbums++ + a.dbLock <- true albumCache, err := a.db.Get(album.ID) + <-a.dbLock + if err == nil { toIndex <- albumCache continue } - a.dbLock <- true err = a.getter.Get(album) if err != nil { @@ -240,6 +242,7 @@ func (a *appData) cacheAlbumDescription(getAlbum <-chan *Album, toIndex chan<- * <-a.dbLock continue } + a.dbLock <- true err = a.db.AddOrUpdate(album) <-a.dbLock if err != nil {