@things-factory/scheduler 10.1.165 → 10.1.176
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/helps/scheduler/scheduler.ko.md +10 -10
- package/package.json +4 -4
|
@@ -5,11 +5,11 @@
|
|
|
5
5
|
- 호출된 이벤트가 실패할 경우 정책에 따라서 일정 시간 이후 재시도 수행
|
|
6
6
|
- 스케줄러 처리의 부하를 분산하기 위해서 새롭게 설계된 구조로서 스케줄러는 데이터베이스 기반의 큐 구조를 사용하여 모든 스케줄 데이터를 관리
|
|
7
7
|
|
|
8
|
-
## 🚀
|
|
8
|
+
## 🚀 주요 기능
|
|
9
9
|
|
|
10
10
|
### 1. 5차원 클라이언트 식별자 시스템
|
|
11
11
|
|
|
12
|
-
스케줄러는
|
|
12
|
+
스케줄러는 5개 필드로 구성된 클라이언트 식별 체계를 사용합니다:
|
|
13
13
|
|
|
14
14
|
```json
|
|
15
15
|
{
|
|
@@ -30,9 +30,9 @@
|
|
|
30
30
|
- **자연스러운 조직화**: application → group → type → key → operation의 계층적 구조
|
|
31
31
|
- **유연한 필터링**: 클라이언트 속성의 조합으로 스케줄 필터링 가능
|
|
32
32
|
|
|
33
|
-
### 2.
|
|
33
|
+
### 2. 지원하는 스케줄 유형
|
|
34
34
|
|
|
35
|
-
#### delay-recur:
|
|
35
|
+
#### delay-recur: 지연 간격 기반 반복 실행
|
|
36
36
|
|
|
37
37
|
```json
|
|
38
38
|
{
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
- **delay**: 일회성 지연 실행
|
|
53
53
|
- **date**: 특정 날짜/시간 실행
|
|
54
54
|
- **cron**: 전통적인 cron 기반 스케줄링
|
|
55
|
-
- **delay-recur**:
|
|
55
|
+
- **delay-recur**: 지연 간격 기반 반복 실행
|
|
56
56
|
|
|
57
57
|
### 3. 고급 실패 처리
|
|
58
58
|
|
|
@@ -75,7 +75,7 @@
|
|
|
75
75
|
**장점:**
|
|
76
76
|
|
|
77
77
|
- **시스템 안정성**: 무한 재시도 루프 방지
|
|
78
|
-
- **데이터 보존**:
|
|
78
|
+
- **데이터 보존**: 실패한 작업을 DLQ에 보관하여 재처리 지원
|
|
79
79
|
- **문제 진단**: DLQ를 통한 실패 원인 분석 가능
|
|
80
80
|
|
|
81
81
|
### 4. 히스토리 인식 스케줄링
|
|
@@ -92,7 +92,7 @@
|
|
|
92
92
|
|
|
93
93
|
- **중복 방지**: 이미 완료된 작업의 재실행 방지
|
|
94
94
|
- **상태 기반 의사결정**: 실행 히스토리를 기반으로 한 스케줄링 결정
|
|
95
|
-
- **감사 추적**:
|
|
95
|
+
- **감사 추적**: 실행 이력 조회를 통한 감사 및 문제 분석 지원
|
|
96
96
|
|
|
97
97
|
### 5. 도메인 인식 콜백 시스템
|
|
98
98
|
|
|
@@ -287,14 +287,14 @@
|
|
|
287
287
|
- 타입: 해당 스케줄 자체에 대한 리소스 타입
|
|
288
288
|
- type: 스케줄 타입으로서 크게, cron, now, date, delay, delay-recur으로 구성됩니다. 자세한 설명은 다음 항목을 참조
|
|
289
289
|
- schedule: 스케줄 타입에 따라 별도의 문자열이 지정됩니다. 자세한 설명은 아래 'Scheduler Type'을 참조.
|
|
290
|
-
- timezone: 스케줄 처리를 위한
|
|
290
|
+
- timezone: 스케줄 처리를 위한 시간대 문자열(예: Asia/Seoul)을 지정.
|
|
291
291
|
- task: 해당 스케줄이 처리되어야할 때 필요한 태스크 정보를 포함.
|
|
292
292
|
- type: 태스크의 타입으로서, 크게 rest, kafka, redis 중 하나를 지정. rest의 경우 post만 지원합니다.
|
|
293
293
|
- connection: 해당 태스크가 수행되기 위한 연결 정보
|
|
294
294
|
- host: 서버 연결 정보
|
|
295
295
|
- topic: kafka와 redis 타입일 때 지정.
|
|
296
296
|
- headers: rest 타입일 경우 선택적으로 지정.
|
|
297
|
-
- data: 해당 태스크 수행 시 전달되어야
|
|
297
|
+
- data: 해당 태스크 수행 시 전달되어야 하는 데이터를 지정
|
|
298
298
|
- history_check: 스케줄의 등록, 실행, 삭제, 재실행에 대한 히스토리를 별도의 DB에 저장.
|
|
299
299
|
|
|
300
300
|
### Schedule Type
|
|
@@ -325,7 +325,7 @@
|
|
|
325
325
|
|
|
326
326
|
- cron: cron format을 기반으로 스케줄이 동작합니다.
|
|
327
327
|
- 기본적인 5개 포맷을 사용합니다.
|
|
328
|
-
- 초 단위
|
|
328
|
+
- 초 단위 스케줄을 실행하기 위해서는 6개 시간 요소가 필요하며, 첫 번째 요소가 초를 지정합니다.
|
|
329
329
|
|
|
330
330
|
```json
|
|
331
331
|
{
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@things-factory/scheduler",
|
|
3
|
-
"version": "10.1.
|
|
3
|
+
"version": "10.1.176",
|
|
4
4
|
"main": "dist-server/index.js",
|
|
5
5
|
"browser": "dist-client/index.js",
|
|
6
6
|
"things-factory": true,
|
|
@@ -30,9 +30,9 @@
|
|
|
30
30
|
"@operato/data-grist": "^10.19.0",
|
|
31
31
|
"@operato/graphql": "^10.0.0",
|
|
32
32
|
"@operato/shell": "^10.0.0",
|
|
33
|
-
"@things-factory/auth-base": "^10.1.
|
|
34
|
-
"@things-factory/scheduler-client": "^10.1.
|
|
33
|
+
"@things-factory/auth-base": "^10.1.176",
|
|
34
|
+
"@things-factory/scheduler-client": "^10.1.176",
|
|
35
35
|
"@things-factory/shell": "^10.1.165"
|
|
36
36
|
},
|
|
37
|
-
"gitHead": "
|
|
37
|
+
"gitHead": "24928f127d73de0e9946423bd4c3295f54cce03d"
|
|
38
38
|
}
|