feat: add rate limit middlewares for job (#3481)

Signed-off-by: Gaius <gaius.qi@gmail.com>
This commit is contained in:
Gaius 2024-09-04 13:17:13 +08:00 committed by GitHub
parent 75d624260f
commit c463f7f63f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 3 additions and 3 deletions

View File

@ -91,10 +91,10 @@ const (
DefaultJobRateLimitFillInterval = 1 * time.Minute DefaultJobRateLimitFillInterval = 1 * time.Minute
// DefaultJobRateLimitCapacity is the default capacity for job rate limit. // DefaultJobRateLimitCapacity is the default capacity for job rate limit.
DefaultJobRateLimitCapacity = 100 DefaultJobRateLimitCapacity = 10
// DefaultJobRateLimitQuantum is the default quantum for job rate limit. // DefaultJobRateLimitQuantum is the default quantum for job rate limit.
DefaultJobRateLimitQuantum = 100 DefaultJobRateLimitQuantum = 10
// DefaultJobPreheatRegistryTimeout is the default timeout for requesting registry to get token and manifest. // DefaultJobPreheatRegistryTimeout is the default timeout for requesting registry to get token and manifest.
DefaultJobPreheatRegistryTimeout = 1 * time.Minute DefaultJobPreheatRegistryTimeout = 1 * time.Minute

View File

@ -202,7 +202,7 @@ func Init(cfg *config.Config, logDir string, service service.Service, database *
// TODO Add auth to the following routes and fix the tests. // TODO Add auth to the following routes and fix the tests.
// Job. // Job.
job := apiv1.Group("/jobs") job := apiv1.Group("/jobs")
job.POST("", h.CreateJob) job.POST("", middlewares.RateLimit(cfg.Job.RateLimit.FillInterval, cfg.Job.RateLimit.Capacity, cfg.Job.RateLimit.Quantum), h.CreateJob)
job.DELETE(":id", h.DestroyJob) job.DELETE(":id", h.DestroyJob)
job.PATCH(":id", h.UpdateJob) job.PATCH(":id", h.UpdateJob)
job.GET(":id", h.GetJob) job.GET(":id", h.GetJob)