add-server-middleware #3

Merged
sinhluu merged 2 commits from add-server-middleware into master 2022-11-18 10:08:45 +00:00
2 changed files with 12 additions and 2 deletions

View File

@ -19,6 +19,7 @@ type Config struct {
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