1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
// NONSAP 동기화 설정
export interface SyncConfig {
pageSize: number;
batchSize: number;
maxWorkers: number;
deltaSyncEnabled: boolean;
cronSchedule: string;
autoRefreshInterval: number; // UI 자동 새로고침 간격 (ms)
}
// 환경별 설정
const configs: Record<string, SyncConfig> = {
development: {
pageSize: 1000,
batchSize: 50,
maxWorkers: 4,
deltaSyncEnabled: true,
cronSchedule: '0 0 1 * * *', // 매일 새벽 1시
autoRefreshInterval: 1000, // 1초
},
production: {
pageSize: 5000,
batchSize: 200,
maxWorkers: 4,
deltaSyncEnabled: true,
cronSchedule: '0 0 1 * * *', // 매일 새벽 1시
autoRefreshInterval: 30000, // 30초
}
};
// 현재 환경의 설정 가져오기
export const SYNC_CONFIG: SyncConfig = configs[process.env.NODE_ENV || 'development'];
// 개별 설정값들 (기존 코드와의 호환성을 위해)
export const PAGE_SIZE = SYNC_CONFIG.pageSize;
export const BATCH_SIZE = SYNC_CONFIG.batchSize;
export const MAX_WORKERS = SYNC_CONFIG.maxWorkers;
export const DELTA_SYNC_ENABLED = SYNC_CONFIG.deltaSyncEnabled;
// 설정 정보를 반환하는 함수 (API에서 사용)
export function getSyncConfigInfo() {
return {
...SYNC_CONFIG,
environment: process.env.NODE_ENV || 'development'
};
}
|