0
0
Fork 0
mirror of https://github.com/go-gitea/gitea synced 2024-12-22 19:04:17 +01:00

Fix queue pop error and stat empty repository error (#10248)

* Fix queue pop error and stat empty repository error

* Fix error
This commit is contained in:
Lunny Xiao 2020-02-12 18:12:27 +08:00 committed by GitHub
parent 83a8944fcf
commit 3d69bbd58f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 8 additions and 2 deletions

View file

@ -19,6 +19,10 @@ func (db *DBIndexer) Index(id int64) error {
if err != nil { if err != nil {
return err return err
} }
if repo.IsEmpty {
return nil
}
status, err := repo.GetIndexerStatus(models.RepoIndexerTypeStats) status, err := repo.GetIndexerStatus(models.RepoIndexerTypeStats)
if err != nil { if err != nil {
return err return err

View file

@ -121,7 +121,7 @@ func (fifo *RedisByteFIFO) PushFunc(data []byte, fn func() error) error {
// Pop pops data from the start of the fifo // Pop pops data from the start of the fifo
func (fifo *RedisByteFIFO) Pop() ([]byte, error) { func (fifo *RedisByteFIFO) Pop() ([]byte, error) {
data, err := fifo.client.LPop(fifo.queueName).Bytes() data, err := fifo.client.LPop(fifo.queueName).Bytes()
if err != nil && err == redis.Nil { if err == nil || err == redis.Nil {
return data, nil return data, nil
} }
return data, err return data, err

View file

@ -4,6 +4,8 @@
package queue package queue
import "github.com/go-redis/redis"
// RedisUniqueQueueType is the type for redis queue // RedisUniqueQueueType is the type for redis queue
const RedisUniqueQueueType Type = "unique-redis" const RedisUniqueQueueType Type = "unique-redis"
@ -102,7 +104,7 @@ func (fifo *RedisUniqueByteFIFO) PushFunc(data []byte, fn func() error) error {
// Pop pops data from the start of the fifo // Pop pops data from the start of the fifo
func (fifo *RedisUniqueByteFIFO) Pop() ([]byte, error) { func (fifo *RedisUniqueByteFIFO) Pop() ([]byte, error) {
data, err := fifo.client.LPop(fifo.queueName).Bytes() data, err := fifo.client.LPop(fifo.queueName).Bytes()
if err != nil { if err != nil && err != redis.Nil {
return data, err return data, err
} }