| r6 | ||
|---|---|---|
| r1 (새 문서) | 1 | [목차] |
| 2 | == 개요 == | |
| 3 | *ADS는 ADSController로 부터 파일 배포 스케줄을 받아 실제 파일 배포를 수행한다. | |
| 4 | *LSM/ADC 서버에서 수행되는 L_ADS 바이너리의 대한 설명이다. | |
| 5 | ||
| r4 | 6 | === L_ADS 프로세스와 연동 된 프로세스 === |
| r1 (새 문서) | 7 | ||<-2> ''' 연동된 프로세스 정보''' || |
| 8 | || '''프로세스 명''' || '''설명''' || | |
| r6 | 9 | || [[ADSController|ADSController]] || ADSController가 관리하는 스케쥴에 기반해 L_ADS가 실제 컨턴츠 배포를 수행한다. || |
| r3 | 10 | || [[ADSClient|ADSClient]] || ADSClient가 배포 받은 파일들을 확인해 L_ADS가 실제 배포를 수행한다. || |
| r5 | 11 | || ServiceMonitor || L_ADS을 자동으로 시작·정지하고, 시스템 부팅 시에도 정상 동작 여부를 확인합니다. || |
| r1 (새 문서) | 12 | |
| 13 | ||
| 14 | ===# L_ADS 관련 이슈 사항 #=== | |
| 15 | ||
| 16 | == 설정 == | |
| 17 | *설정파일 위치 | |
| 18 | >/usr/local/castis/ADS.cfg | |
| 19 | ||
| 20 | ||
| 21 | == ADS Log == | |
| 22 | === ADSController 요청 수신 === | |
| 23 | ADSClient는 ADSController로부터 파일 배포 스케줄을 전달받습니다. 이때 로그에 요청 ID와 대상 채널이 기록됩니다. | |
| 24 | >DEBUG: Received distribution request from ADSController (id=<req_id>) [br] INFO: Scheduling file distribution for channel <channel_name> | |
| 25 | === 파일 준비 === | |
| 26 | 파일을 스트리밍용으로 분할(Chunking)하기 전 단계입니다. | |
| 27 | >DEBUG: Preparing chunking for file <file_path> (size=<bytes>) [br] INFO: Chunk size set to <chunk_size> bytes | |
| 28 | === 배포 실행 === | |
| 29 | 실제 파일을 채널에 전달합니다. 각 청크가 전송될 때마다 DEBUG 레벨 로그가 남습니다. | |
| 30 | >INFO: Starting distribution of <file_name> to channel <channel_name> [br] DEBUG: Sending chunk #<n> to LSM/ADC server | |
| 31 | === 배포 완료 === | |
| 32 | 배포가 정상적으로 끝났음을 알립니다. | |
| 33 | >INFO: Distribution of <file_name> completed for channel <channel_name> [br] DEBUG: Total chunks sent: <cnt> | |
| 34 | === 에러 발생 시 === | |
| 35 | 에러가 생기면 ERROR/ WARN 레벨 로그가 남으며, ServiceMonitor가 프로세스를 재시작하도록 감지합니다. | |
| 36 | >ERROR: Failed to send chunk #<n> to channel <channel_name>: <error_detail> [br] WARN: Retrying transmission | |
| 37 | === 정상 종료 === | |
| r2 | 38 | 프로세스가 정상적으로 종료될 때 기록됩니다. |
| r1 (새 문서) | 39 | >INFO: ADSClient exited with status 0 |
| 40 | ||
| 41 | ||
| 42 |