refactor: remove uploadConcurrency from config
Effective concurrency derived from bot pool size. Chunked-storage backpressure now uses botPool.getEffectiveConcurrency(). Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -12,7 +12,6 @@ interface AppConfig {
|
||||
rateLimitWindowMs: number;
|
||||
rateLimitMaxRequests: number;
|
||||
trustProxy: boolean;
|
||||
uploadConcurrency: number;
|
||||
batchMaxItems: number;
|
||||
batchMaxSizeBytes: number;
|
||||
maxRequestBodyBytes: number;
|
||||
@@ -105,7 +104,6 @@ export const config: AppConfig = {
|
||||
rateLimitWindowMs: parseNumber(process.env.RATE_LIMIT_WINDOW_MS, 60000),
|
||||
rateLimitMaxRequests: parseNumber(process.env.RATE_LIMIT_MAX_REQUESTS, 150),
|
||||
trustProxy: process.env.TRUST_PROXY === 'true',
|
||||
uploadConcurrency: parseNumber(process.env.UPLOAD_CONCURRENCY, 8),
|
||||
batchMaxItems: parseNumber(process.env.BATCH_MAX_ITEMS, 20),
|
||||
batchMaxSizeBytes: parseNumber(process.env.BATCH_MAX_SIZE_BYTES, 500 * 1024 * 1024),
|
||||
maxRequestBodyBytes: parseNumber(process.env.MAX_REQUEST_BODY_BYTES, 2 * 1024 * 1024 * 1024),
|
||||
|
||||
@@ -125,7 +125,7 @@ export const uploadFileInTelegramChunks = async (input: {
|
||||
|
||||
// Backpressure: if too many chunks are in-flight, wait for one to
|
||||
// finish before reading more — prevents unbounded memory growth.
|
||||
if (inFlight.size >= config.uploadConcurrency * 2) {
|
||||
if (inFlight.size >= botPool.getEffectiveConcurrency() * 2) {
|
||||
await Promise.race(inFlight);
|
||||
// Yield microtask to let .finally() run and remove from inFlight
|
||||
await new Promise((resolve) => setTimeout(resolve, 0));
|
||||
|
||||
Reference in New Issue
Block a user