Add asynq/x/rate package

- Added a directory /x for external, experimental packeges
- Added a `rate` package to enable rate limiting across multiple asynq worker servers
This commit is contained in:
Ajat Prabha
2021-11-04 04:25:23 +05:30
committed by GitHub
parent 0d2c0f612b
commit 23c522dc9f
8 changed files with 661 additions and 56 deletions

View File

@@ -16,6 +16,7 @@ import (
"time"
"github.com/hibiken/asynq/internal/base"
asynqcontext "github.com/hibiken/asynq/internal/context"
"github.com/hibiken/asynq/internal/errors"
"github.com/hibiken/asynq/internal/log"
"golang.org/x/time/rate"
@@ -189,7 +190,7 @@ func (p *processor) exec() {
<-p.sema // release token
}()
ctx, cancel := createContext(msg, deadline)
ctx, cancel := asynqcontext.New(msg, deadline)
p.cancelations.Add(msg.ID.String(), cancel)
defer func() {
cancel()