add middleware and queue inspector
This commit is contained in:
parent
21c2ce0592
commit
cb6f1c515b
|
@ -19,6 +19,7 @@ type Config struct {
|
|||
|
||||
TaskTimeout time.Duration
|
||||
RetryDelayFunc asynq.RetryDelayFunc
|
||||
ServerMiddlewares []asynq.MiddlewareFunc
|
||||
}
|
||||
|
||||
// ConfigRedis ...
|
||||
|
|
|
@ -12,6 +12,7 @@ type Instance struct {
|
|||
Client *asynq.Client
|
||||
Server *asynq.ServeMux
|
||||
Scheduler *asynq.Scheduler
|
||||
Inspector *asynq.Inspector
|
||||
|
||||
Config Config
|
||||
}
|
||||
|
@ -31,6 +32,7 @@ func NewInstance(cfg Config) Instance {
|
|||
instance.Server = initServer(redisConn, cfg)
|
||||
instance.Scheduler = initScheduler(redisConn)
|
||||
instance.Client = initClient(redisConn)
|
||||
instance.Inspector = initInspector(redisConn)
|
||||
instance.Config = cfg
|
||||
|
||||
// Return instance
|
||||
|
@ -73,6 +75,9 @@ func initServer(redisConn asynq.RedisClientOpt, cfg Config) *asynq.ServeMux {
|
|||
|
||||
// Init mux server
|
||||
mux := asynq.NewServeMux()
|
||||
if len(cfg.ServerMiddlewares) > 0 {
|
||||
mux.Use(cfg.ServerMiddlewares...)
|
||||
}
|
||||
|
||||
// Run server
|
||||
go func() {
|
||||
|
@ -113,6 +118,10 @@ func initClient(redisConn asynq.RedisClientOpt) *asynq.Client {
|
|||
return client
|
||||
}
|
||||
|
||||
func initInspector(redisConn asynq.RedisClientOpt) *asynq.Inspector {
|
||||
return asynq.NewInspector(redisConn)
|
||||
}
|
||||
|
||||
// GetInstance ...
|
||||
func GetInstance() Instance {
|
||||
return instance
|
||||
|
|
Loading…
Reference in New Issue