diff --git a/gqueue/queue.go b/gqueue/queue.go index 06d1599..6d617d0 100644 --- a/gqueue/queue.go +++ b/gqueue/queue.go @@ -38,11 +38,36 @@ func Client() *asynq.Client { var svc *asynq.Server -func Server() *asynq.Server { +func ServerWithArgs(concurrency int, fn asynq.ErrorHandlerFunc) *asynq.Server { onceSvc.Do(func() { svc = asynq.NewServer( redisOpt, - asynq.Config{Concurrency: 10}, + asynq.Config{ + Concurrency: concurrency, + ErrorHandler: fn, + }, + ) + }) + return svc +} + +func ServerWithConfig(cfg asynq.Config) *asynq.Server { + onceSvc.Do(func() { + svc = asynq.NewServer( + redisOpt, + cfg, + ) + }) + return svc +} + +func Server() *asynq.Server { + onceSvc.Do(func() { + svc = asynq.NewServer( + redisOpt, + asynq.Config{ + Concurrency: 0, + }, ) }) return svc