summaryrefslogtreecommitdiff
path: root/instrumentation.ts
diff options
context:
space:
mode:
authorjoonhoekim <26rote@gmail.com>2025-09-23 14:22:46 +0900
committerjoonhoekim <26rote@gmail.com>2025-09-23 14:22:46 +0900
commitbd758e6611850d6c7c865cf1d5dbfd3ef6946bee (patch)
tree1b974a69ee69c50cfdaaa048f4a0209ea001a06b /instrumentation.ts
parentda00bbf203534b2663289d6fe45b6ed8663e7e11 (diff)
(김준회) nonsap code 테이블 동기화 처리
Diffstat (limited to 'instrumentation.ts')
-rw-r--r--instrumentation.ts23
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.');
// 스케줄러 실패해도 애플리케이션은 계속 실행