Merge pull request 'add-server-middleware' (#3) from add-server-middleware into master

Reviewed-on: #3
This commit is contained in:
sinhluu 2022-11-18 10:08:45 +00:00
commit 847f0986cf
2 changed files with 12 additions and 2 deletions

View File

@ -17,8 +17,9 @@ type Config struct {
Concurrency int Concurrency int
Priority ConfigPriority Priority ConfigPriority
TaskTimeout time.Duration TaskTimeout time.Duration
RetryDelayFunc asynq.RetryDelayFunc RetryDelayFunc asynq.RetryDelayFunc
ServerMiddlewares []asynq.MiddlewareFunc
} }
// ConfigRedis ... // ConfigRedis ...

View File

@ -12,6 +12,7 @@ type Instance struct {
Client *asynq.Client Client *asynq.Client
Server *asynq.ServeMux Server *asynq.ServeMux
Scheduler *asynq.Scheduler Scheduler *asynq.Scheduler
Inspector *asynq.Inspector
Config Config Config Config
} }
@ -31,6 +32,7 @@ func NewInstance(cfg Config) Instance {
instance.Server = initServer(redisConn, cfg) instance.Server = initServer(redisConn, cfg)
instance.Scheduler = initScheduler(redisConn) instance.Scheduler = initScheduler(redisConn)
instance.Client = initClient(redisConn) instance.Client = initClient(redisConn)
instance.Inspector = initInspector(redisConn)
instance.Config = cfg instance.Config = cfg
// Return instance // Return instance
@ -73,6 +75,9 @@ func initServer(redisConn asynq.RedisClientOpt, cfg Config) *asynq.ServeMux {
// Init mux server // Init mux server
mux := asynq.NewServeMux() mux := asynq.NewServeMux()
if len(cfg.ServerMiddlewares) > 0 {
mux.Use(cfg.ServerMiddlewares...)
}
// Run server // Run server
go func() { go func() {
@ -113,6 +118,10 @@ func initClient(redisConn asynq.RedisClientOpt) *asynq.Client {
return client return client
} }
func initInspector(redisConn asynq.RedisClientOpt) *asynq.Inspector {
return asynq.NewInspector(redisConn)
}
// GetInstance ... // GetInstance ...
func GetInstance() Instance { func GetInstance() Instance {
return instance return instance