blob: 1cca3441debdcc990f83cf6c072a5acd85dd3df3 (
plain)
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
|
'use server';
import * as cron from 'node-cron';
import { getAllNonsapUser } from './shi-api-utils';
// 기본: 매일 01:00 KST 실행. 환경변수로 오버라이드 가능
const CRON_STRING = process.env.SHI_API_USERS_SYNC_CRON || '0 1 * * *';
/**
* SHI-API NONSAP 사용자 동기화 - 일일 스케줄러 등록
*/
export async function startShiApiUsersDailySyncScheduler(): Promise<void> {
try {
cron.schedule(
CRON_STRING,
async () => {
try {
console.log('[SHI-API] CRON 실행: NONSAP 사용자 동기화 시작');
await getAllNonsapUser();
console.log('[SHI-API] CRON 완료: NONSAP 사용자 동기화 성공');
} catch (error) {
console.error('[SHI-API] CRON 실패: NONSAP 사용자 동기화 오류', error);
}
},
{ timezone: 'Asia/Seoul' },
);
console.log('[SHI-API] Daily NONSAP user sync cron registered:', CRON_STRING);
} catch (error) {
console.error('Failed to set up SHI-API users daily cron scheduler.', error);
}
try {
if(process.env.NONSAP_USERSYNC_FIRST_RUN === 'true') {
await getAllNonsapUser();
}
} catch (error) {
console.error('Failed to sync NONSAP users in first run mode.', error);
}
}
|