From b3ed0b7429d58b36ab666e5822fe53e3c3210e5d Mon Sep 17 00:00:00 2001 From: tiglog Date: Wed, 5 Jul 2023 18:57:31 +0800 Subject: [PATCH] =?UTF-8?q?feat(gqueue):=20=E5=8F=AF=E4=BB=A5=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=20server?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gqueue/queue.go | 29 +++++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) 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