Merge pull request #2 from Selly-Modules/update-retry-config

update retry config
This commit is contained in:
Sinh Luu 2022-08-10 17:18:17 +07:00 committed by GitHub
commit 21c2ce0592
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
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 {
@ -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
} }