Skip to content

Commit f4f8fc0

Browse files
authored
improvement(kb): add fallbacks for kb configs (#1199)
1 parent a383830 commit f4f8fc0

File tree

2 files changed

+18
-18
lines changed

2 files changed

+18
-18
lines changed

apps/sim/background/knowledge-processing.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,15 +26,15 @@ export type DocumentProcessingPayload = {
2626

2727
export const processDocument = task({
2828
id: 'knowledge-process-document',
29-
maxDuration: env.KB_CONFIG_MAX_DURATION,
29+
maxDuration: env.KB_CONFIG_MAX_DURATION || 300,
3030
retry: {
31-
maxAttempts: env.KB_CONFIG_MAX_ATTEMPTS,
32-
factor: env.KB_CONFIG_RETRY_FACTOR,
33-
minTimeoutInMs: env.KB_CONFIG_MIN_TIMEOUT,
34-
maxTimeoutInMs: env.KB_CONFIG_MAX_TIMEOUT,
31+
maxAttempts: env.KB_CONFIG_MAX_ATTEMPTS || 3,
32+
factor: env.KB_CONFIG_RETRY_FACTOR || 2,
33+
minTimeoutInMs: env.KB_CONFIG_MIN_TIMEOUT || 1000,
34+
maxTimeoutInMs: env.KB_CONFIG_MAX_TIMEOUT || 10000,
3535
},
3636
queue: {
37-
concurrencyLimit: env.KB_CONFIG_CONCURRENCY_LIMIT,
37+
concurrencyLimit: env.KB_CONFIG_CONCURRENCY_LIMIT || 20,
3838
name: 'document-processing-queue',
3939
},
4040
run: async (payload: DocumentProcessingPayload) => {

apps/sim/lib/knowledge/documents/service.ts

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ import type { DocumentSortField, SortOrder } from './types'
1717
const logger = createLogger('DocumentService')
1818

1919
const TIMEOUTS = {
20-
OVERALL_PROCESSING: env.KB_CONFIG_MAX_DURATION * 1000,
21-
EMBEDDINGS_API: env.KB_CONFIG_MAX_TIMEOUT * 18,
20+
OVERALL_PROCESSING: (env.KB_CONFIG_MAX_DURATION || 300) * 1000,
21+
EMBEDDINGS_API: (env.KB_CONFIG_MAX_TIMEOUT || 10000) * 18,
2222
} as const
2323

2424
/**
@@ -38,17 +38,17 @@ function withTimeout<T>(
3838
}
3939

4040
const PROCESSING_CONFIG = {
41-
maxConcurrentDocuments: Math.max(1, Math.floor(env.KB_CONFIG_CONCURRENCY_LIMIT / 5)) || 4,
42-
batchSize: Math.max(1, Math.floor(env.KB_CONFIG_BATCH_SIZE / 2)) || 10,
43-
delayBetweenBatches: env.KB_CONFIG_DELAY_BETWEEN_BATCHES * 2,
44-
delayBetweenDocuments: env.KB_CONFIG_DELAY_BETWEEN_DOCUMENTS * 2,
41+
maxConcurrentDocuments: Math.max(1, Math.floor((env.KB_CONFIG_CONCURRENCY_LIMIT || 20) / 5)) || 4,
42+
batchSize: Math.max(1, Math.floor((env.KB_CONFIG_BATCH_SIZE || 20) / 2)) || 10,
43+
delayBetweenBatches: (env.KB_CONFIG_DELAY_BETWEEN_BATCHES || 100) * 2,
44+
delayBetweenDocuments: (env.KB_CONFIG_DELAY_BETWEEN_DOCUMENTS || 50) * 2,
4545
}
4646

4747
const REDIS_PROCESSING_CONFIG = {
48-
maxConcurrentDocuments: env.KB_CONFIG_CONCURRENCY_LIMIT,
49-
batchSize: env.KB_CONFIG_BATCH_SIZE,
50-
delayBetweenBatches: env.KB_CONFIG_DELAY_BETWEEN_BATCHES,
51-
delayBetweenDocuments: env.KB_CONFIG_DELAY_BETWEEN_DOCUMENTS,
48+
maxConcurrentDocuments: env.KB_CONFIG_CONCURRENCY_LIMIT || 20,
49+
batchSize: env.KB_CONFIG_BATCH_SIZE || 20,
50+
delayBetweenBatches: env.KB_CONFIG_DELAY_BETWEEN_BATCHES || 100,
51+
delayBetweenDocuments: env.KB_CONFIG_DELAY_BETWEEN_DOCUMENTS || 50,
5252
}
5353

5454
let documentQueue: DocumentProcessingQueue | null = null
@@ -59,8 +59,8 @@ export function getDocumentQueue(): DocumentProcessingQueue {
5959
const config = redisClient ? REDIS_PROCESSING_CONFIG : PROCESSING_CONFIG
6060
documentQueue = new DocumentProcessingQueue({
6161
maxConcurrent: config.maxConcurrentDocuments,
62-
retryDelay: env.KB_CONFIG_MIN_TIMEOUT,
63-
maxRetries: env.KB_CONFIG_MAX_ATTEMPTS,
62+
retryDelay: env.KB_CONFIG_MIN_TIMEOUT || 1000,
63+
maxRetries: env.KB_CONFIG_MAX_ATTEMPTS || 3,
6464
})
6565
}
6666
return documentQueue

0 commit comments

Comments
 (0)