update retry config

This commit is contained in:
Sinh 2022-08-10 17:17:34 +07:00
parent 410f8fa765
commit 3bdd6ce7ff
2 changed files with 16 additions and 8 deletions

View File

@ -1,6 +1,10 @@
package queue package queue
import "time" import (
"time"
"github.com/hibiken/asynq"
)
// Config ... // Config ...
type Config struct { type Config struct {
@ -14,6 +18,7 @@ type Config struct {
Priority ConfigPriority Priority ConfigPriority
TaskTimeout time.Duration TaskTimeout time.Duration
RetryDelayFunc asynq.RetryDelayFunc
} }
// ConfigRedis ... // ConfigRedis ...

View File

@ -50,6 +50,13 @@ func initServer(redisConn asynq.RedisClientOpt, cfg Config) *asynq.ServeMux {
cfg.Priority.Low = 1 cfg.Priority.Low = 1
cfg.Priority.StrictMode = false cfg.Priority.StrictMode = false
} }
retryDelayFunc := cfg.RetryDelayFunc
if retryDelayFunc == nil {
// Default delay in 10s
retryDelayFunc = func(n int, e error, t *asynq.Task) time.Duration {
return 10 * time.Second
}
}
// Init server // Init server
server := asynq.NewServer(redisConn, asynq.Config{ server := asynq.NewServer(redisConn, asynq.Config{
@ -61,11 +68,7 @@ func initServer(redisConn asynq.RedisClientOpt, cfg Config) *asynq.ServeMux {
}, },
StrictPriority: cfg.Priority.StrictMode, StrictPriority: cfg.Priority.StrictMode,
// TODO: RetryDelayFunc: retryDelayFunc,
// This is default option, retry after 10s, will add to config later
RetryDelayFunc: func(n int, e error, t *asynq.Task) time.Duration {
return 10 * time.Second
},
}) })
// Init mux server // Init mux server