노드 플러그인 JSON¶
이 페이지는 노드의 설정정보를 변경할 수 있는 JSON 구성 가이드 입니다.
전체 구조¶
Name |
Type |
Description |
---|---|---|
logger |
object |
로그 설정 |
socket |
object |
관리용 소켓 설정 |
inits |
object array |
초기화 명령 모음 |
plugin |
object |
플러그인 설정 |
models |
object array |
모델 설정 목록 |
processes |
object array |
프로세스 설정 목록 |
immutable |
bool |
설정파일 변경 여부 |
루트 JSON 구조는 다음과 같습니다.
1{
2 "logger": {
3 ...
4 },
5 "socket": {
6 ...
7 },
8 "inits": [
9 ...
10 ],
11 "plugin": {
12 ...
13 },
14 "models": [
15 ...
16 ],
17 "processes": [
18 ...
19 ],
20 "immutable": true
21}
logger¶
로그 설정 입니다. 노드의 상세 정보를 확인할 수 있습니다.
Name |
Type |
Description |
---|---|---|
name |
string |
로그 이름 |
sink |
string |
로그 싱크 |
arguments |
string |
싱크의 인자 |
generator |
string |
로그 메시지 생성기 |
line_feed |
string |
메시지별 개행 여부 |
severity |
string |
적용될 로그 심각도 |
auto_flush |
bool |
로그 버퍼의 자동 플러시 여부 |
thread |
bool |
멀티 스레드 모드 적용 여부 |
sink 는 로그 메시지의 마지막 종착지점 입니다. 아래의 값 중 하나를 사용할 수 있습니다.
console
: TTY 터미널에 로그를 출력합니다.file
: 로그를 파일로 저장합니다.rotate_file
: 현재, 공식적으로 지원되지 않습니다.null
: 모든 메시지를 버립니다.
sink 의 값이 console
일 경우 아래의 값을 arguments 로 사용할 수 있습니다.
stdout
: 표준 출력을 사용합니다.stderr
: 표준 에러를 사용합니다.auto
: 에러 보다 심각한 메시지는stderr
로, 그 밖의 경우는stdout
을 사용합니다.
sink 의 값이 file
일 경우 arguments 값은 파일 경로에 해당됩니다.
generator 는 로그 메시지를 생성할 규칙을 지정할 수 있습니다. 아래의 값 중 하나를 사용할 수 있습니다.
default
: 기본 포맷을 사용합니다.default_color
: 기본 포맷에, Terminal Control Escape Sequences 를 적용하여 색상을 적용합니다.raw
: 원본 메시지를 그대로 사용합니다.raw_color
: 원본 메시지에, Terminal Control Escape Sequences 를 적용하여 색상을 적용합니다.
line_feed 은 아래의 값 중 하나를 사용할 수 있습니다.
auto
: 시스템에 맞는 개행을 적용합니다.unix
: LF(\n
)를 사용합니다.windows
: CRLF(\r\n
)를 사용합니다.
severity 은 아래의 값 중 하나를 사용할 수 있습니다.
off
: 출력을 끕니다.emergency
: 비상alert
: 경고critical
: 중요error
: 오류warning
: 경고notice
: 알림info
: 정보debug
: 디버깅
예제 코드는 다음과 같습니다.
1{
2 "name": "default.logger",
3 "sink": "console",
4 "arguments": "stdout",
5 "generator": "default_color",
6 "line_feed": "auto",
7 "severity": "notice",
8 "auto_flush": true,
9 "thread": true
10}
socket¶
관리용 소켓 설정. 노드와 통신할 소켓 설정 입니다.
Name |
Type |
Description |
---|---|---|
recv_timeout |
string |
소켓의 수신 제한시간 |
send_timeout |
string |
소켓의 송신 제한시간 |
recv_number_of_messages |
unsigned |
소켓의 수신 버퍼가 수용할 수 있는 메시지 개수 |
send_number_of_messages |
unsigned |
소켓의 송신 버퍼가 수용할 수 있는 메시지 개수 |
recv_buffer_byte |
string |
단일 패킷의 수신 버퍼의 크기 |
send_buffer_byte |
string |
단일 패킷의 송신 버퍼 크기 |
reconnect_time_min |
unsigned |
이전 연결 시도가 실패한 후 재시도 까지 대기하는 최소 시간 |
reconnect_time_max |
unsigned |
이전 연결 시도가 실패한 후 재시도 까지 대하기는 최대 시간 |
예제 코드는 다음과 같습니다.
1{
2 "recv_timeout": "4sec",
3 "send_timeout": "1sec",
4 "recv_number_of_messages": 16,
5 "send_number_of_messages": 16,
6 "recv_buffer_byte": "32m",
7 "send_buffer_byte": "32m",
8 "reconnect_time_min": 10,
9 "reconnect_time_max": 10
10}
inits¶
초기화 목록. 노드 실행시 실행됩니다.
Name |
Type |
Description |
---|---|---|
type |
string |
초기화 타입 |
arguments |
string |
초기화 타입에 따른 인자 |
branch |
string |
브렌치 이름 |
auto_update |
bool |
자동 업데이트 여부 |
destination |
string |
결과 위치 |
예제 코드는 다음과 같습니다.
1{
2 "type": "git",
3 "arguments": "https://github.com/bogonets/answer-lambda-cv2",
4 "branch": "master",
5 "auto_update": true,
6 "destination": "${STORAGE_PYTHON}/answer-lambda-cv2"
7}
plugin¶
플러그인 정보.
Name |
Type |
Description |
---|---|---|
script |
string |
스크립트 위치 |
event_create |
string |
노드가 생성될 때 호출할 함수 |
event_loop_begin |
string |
노드의 이벤트 루프 시작 함수 |
event_loop_end |
string |
노드의 이벤트 루프 종료 함수 |
event_destroy |
string |
노드가 소멸될 때 호출할 함수 |
예제 코드는 다음과 같습니다.
1{
2 "script": "${STORAGE_PYTHON}/npp.py",
3 "event_create": "on_create",
4 "event_loop_begin": "on_loop_begin",
5 "event_loop_end": "on_loop_end",
6 "event_destroy": "on_destroy"
7}
models¶
노드 시작시 함께 실행할 모델 목록 입니다.
processes¶
노드 시작시 함께 실행할 프로세스 목록 입니다.
immutable¶
true
일 경우 Node 종료시 마지막 설정 정보로 변경 및 적용됩니다.