From bd758e6611850d6c7c865cf1d5dbfd3ef6946bee Mon Sep 17 00:00:00 2001 From: joonhoekim <26rote@gmail.com> Date: Tue, 23 Sep 2025 14:22:46 +0900 Subject: (김준회) nonsap code 테이블 동기화 처리 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- instrumentation.ts | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) (limited to 'instrumentation.ts') 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.'); // 스케줄러 실패해도 애플리케이션은 계속 실행 -- cgit v1.2.3