0

Update rate-limiter.ts

This commit is contained in:
Nicolas 2024-05-14 14:26:42 -07:00
parent 40ad97dee8
commit 4761ea510b

View File

@ -21,28 +21,28 @@ export const redisClient = redis.createClient({
export const previewRateLimiter = new RateLimiterRedis({ export const previewRateLimiter = new RateLimiterRedis({
storeClient: redisClient, storeClient: redisClient,
keyPrefix: "middleware", keyPrefix: "preview",
points: MAX_REQUESTS_PER_MINUTE_PREVIEW, points: MAX_REQUESTS_PER_MINUTE_PREVIEW,
duration: 60, // Duration in seconds duration: 60, // Duration in seconds
}); });
export const serverRateLimiter = new RateLimiterRedis({ export const serverRateLimiter = new RateLimiterRedis({
storeClient: redisClient, storeClient: redisClient,
keyPrefix: "middleware", keyPrefix: "server",
points: MAX_REQUESTS_PER_MINUTE_ACCOUNT, points: MAX_REQUESTS_PER_MINUTE_ACCOUNT,
duration: 60, // Duration in seconds duration: 60, // Duration in seconds
}); });
export const crawlStatusRateLimiter = new RateLimiterRedis({ export const crawlStatusRateLimiter = new RateLimiterRedis({
storeClient: redisClient, storeClient: redisClient,
keyPrefix: "middleware", keyPrefix: "crawl-status",
points: MAX_REQUESTS_PER_MINUTE_CRAWL_STATUS, points: MAX_REQUESTS_PER_MINUTE_CRAWL_STATUS,
duration: 60, // Duration in seconds duration: 60, // Duration in seconds
}); });
export const testSuiteRateLimiter = new RateLimiterRedis({ export const testSuiteRateLimiter = new RateLimiterRedis({
storeClient: redisClient, storeClient: redisClient,
keyPrefix: "middleware", keyPrefix: "test-suite",
points: 1000, points: 1000,
duration: 60, // Duration in seconds duration: 60, // Duration in seconds
}); });
@ -52,21 +52,21 @@ export function crawlRateLimit (plan: string){
if (plan === "standard"){ if (plan === "standard"){
return new RateLimiterRedis({ return new RateLimiterRedis({
storeClient: redisClient, storeClient: redisClient,
keyPrefix: "middleware", keyPrefix: "crawl-standard",
points: MAX_CRAWLS_PER_MINUTE_STANDARD, points: MAX_CRAWLS_PER_MINUTE_STANDARD,
duration: 60, // Duration in seconds duration: 60, // Duration in seconds
}); });
} else if (plan === "scale"){ } else if (plan === "scale"){
return new RateLimiterRedis({ return new RateLimiterRedis({
storeClient: redisClient, storeClient: redisClient,
keyPrefix: "middleware", keyPrefix: "crawl-scale",
points: MAX_CRAWLS_PER_MINUTE_SCALE, points: MAX_CRAWLS_PER_MINUTE_SCALE,
duration: 60, // Duration in seconds duration: 60, // Duration in seconds
}); });
} }
return new RateLimiterRedis({ return new RateLimiterRedis({
storeClient: redisClient, storeClient: redisClient,
keyPrefix: "middleware", keyPrefix: "crawl-starter",
points: MAX_CRAWLS_PER_MINUTE_STARTER, points: MAX_CRAWLS_PER_MINUTE_STARTER,
duration: 60, // Duration in seconds duration: 60, // Duration in seconds
}); });
@ -76,21 +76,21 @@ export function scrapeRateLimit (plan: string){
if (plan === "standard"){ if (plan === "standard"){
return new RateLimiterRedis({ return new RateLimiterRedis({
storeClient: redisClient, storeClient: redisClient,
keyPrefix: "middleware", keyPrefix: "scrape-standard",
points: MAX_SCRAPES_PER_MINUTE_STANDARD, points: MAX_SCRAPES_PER_MINUTE_STANDARD,
duration: 60, // Duration in seconds duration: 60, // Duration in seconds
}); });
} else if (plan === "scale"){ } else if (plan === "scale"){
return new RateLimiterRedis({ return new RateLimiterRedis({
storeClient: redisClient, storeClient: redisClient,
keyPrefix: "middleware", keyPrefix: "scrape-scale",
points: MAX_SCRAPES_PER_MINUTE_SCALE, points: MAX_SCRAPES_PER_MINUTE_SCALE,
duration: 60, // Duration in seconds duration: 60, // Duration in seconds
}); });
} }
return new RateLimiterRedis({ return new RateLimiterRedis({
storeClient: redisClient, storeClient: redisClient,
keyPrefix: "middleware", keyPrefix: "scrape-starter",
points: MAX_SCRAPES_PER_MINUTE_STARTER, points: MAX_SCRAPES_PER_MINUTE_STARTER,
duration: 60, // Duration in seconds duration: 60, // Duration in seconds
}); });