update retry config #2

Merged
luuvansinh merged 1 commits from update-retry-config into master 2022-08-10 10:18:17 +00:00
2 changed files with 16 additions and 8 deletions
Showing only changes of commit 3bdd6ce7ff - Show all commits

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 {
@ -13,7 +17,8 @@ type Config struct {
Concurrency int Concurrency int
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
@ -112,5 +115,5 @@ func initClient(redisConn asynq.RedisClientOpt) *asynq.Client {
// GetInstance ... // GetInstance ...
func GetInstance() Instance { func GetInstance() Instance {
return instance return instance
} }