update retry config #2
|
@ -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 ...
|
||||||
|
|
15
instance.go
15
instance.go
|
@ -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
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue