add middleware and queue inspector
This commit is contained in:
		
							parent
							
								
									21c2ce0592
								
							
						
					
					
						commit
						cb6f1c515b
					
				| 
						 | 
					@ -19,6 +19,7 @@ type Config struct {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	TaskTimeout       time.Duration
 | 
						TaskTimeout       time.Duration
 | 
				
			||||||
	RetryDelayFunc    asynq.RetryDelayFunc
 | 
						RetryDelayFunc    asynq.RetryDelayFunc
 | 
				
			||||||
 | 
						ServerMiddlewares []asynq.MiddlewareFunc
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// ConfigRedis ...
 | 
					// ConfigRedis ...
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue