diff options
| author | joonhoekim <26rote@gmail.com> | 2025-09-23 14:22:46 +0900 |
|---|---|---|
| committer | joonhoekim <26rote@gmail.com> | 2025-09-23 14:22:46 +0900 |
| commit | bd758e6611850d6c7c865cf1d5dbfd3ef6946bee (patch) | |
| tree | 1b974a69ee69c50cfdaaa048f4a0209ea001a06b /instrumentation.ts | |
| parent | da00bbf203534b2663289d6fe45b6ed8663e7e11 (diff) | |
(김준회) nonsap code 테이블 동기화 처리
Diffstat (limited to 'instrumentation.ts')
| -rw-r--r-- | instrumentation.ts | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/instrumentation.ts b/instrumentation.ts index 3a2cc9bb..5e5b827d 100644 --- a/instrumentation.ts +++ b/instrumentation.ts @@ -7,18 +7,24 @@ export async function register() { // Node.js runtime에서만 동기화 스케줄러 시작 if (process.env.NEXT_RUNTIME === 'nodejs') { try { - // 동적 import로 Edge Runtime 호환성 확보 - 개선된 서비스 사용 - // PLM 동기화 스케줄러인데, 1회만 가져오기로 했으므로 주석 처리 - // const { startEnhancedSyncScheduler } = await import('./lib/nonsap-sync/enhanced-sync-service'); - // startEnhancedSyncScheduler(); - + // NONSAP 데이터 동기화 스케줄러 시작 (CMCTB_CDNM, CMCTB_CD) + const { triggerSync } = await import('./lib/nonsap-sync/enhanced-sync-service'); + const cron = (await import('node-cron')).default; + + cron.schedule('0 1 * * *', async () => { + try { + await triggerSync(); + } catch (error) { + console.error('NONSAP data sync failed:', error); + } + }, { timezone: 'Asia/Seoul' }); + } catch { - console.error('Failed to start Enhanced NONSAP sync scheduler.'); - // 스케줄러 실패해도 애플리케이션은 계속 실행 + console.error('Failed to start NONSAP data sync scheduler.'); } try { - // Knox 통합 동기화 스케줄러 시작 (직급 → 조직 → 임직원 순차 실행) + // Knox 통합 동기화 스케줄러 시작 (직급 → 조직 → 임직원 순차 실행) --- 임직원은 안씀 const { startKnoxMasterSyncScheduler } = await import( './lib/knox-sync/master-sync-service' ); @@ -35,7 +41,6 @@ export async function register() { './lib/nonsap-sync/procurement-sync-service' ); await startProcurementSyncScheduler(); - } catch { console.error('Failed to start Procurement sync scheduler.'); // 스케줄러 실패해도 애플리케이션은 계속 실행 |
