"통용보고서 작동구조"의 두 판 사이의 차이

 
(같은 사용자의 중간 판 15개는 보이지 않습니다)
5번째 줄: 5번째 줄:
! 구분 !! 클래스/모듈 !! 설명
! 구분 !! 클래스/모듈 !! 설명
|-
|-
| App 모델 || CommonReport ||
| 모델 || CommonReport ||
* 통용보고서 모델
* 통용보고서 모델
* 상태: 0(init), 1(in progress), 2(done), 3(error)
|-
|-
| App 컨트롤러 || CommonReportProcessor ||
| Job || CommonReportJob ||  
* 통용보고서를 완성시키는 실제 작업자 클래스
* 통용보고서 처리 작업
* Foreground든, Background든 동일하게 여기서 처리한다.
* 통용보고서를 완성시키는 실제 작업을 수행하는 클래스
* Foreground/Background 요청 모두 여기서 동일하게 처리한다.
|-
|-
| HTTP 컨트롤러 || CommonReportController ||
| HTTP 컨트롤러 || CommonReportController ||
* [[통용보고서 URL 라우트]]에 의한 HTTP 요청을 받는다.
* [[통용보고서 URL 라우트]]에 의한 HTTP 요청을 받는다.
* 미완성 상태의 통용보고서(CommonReport)를 생성한다.
* 미완성 상태의 통용보고서(CommonReport)를 생성한다.
* CommonReportJob을 큐에 등록한다.
* CommonReportJob(비동기 작업)을 큐에 등록한다.
|-
| Job 모델 || CommonReportJob ||
* 통용보고서 큐 작업
* 실제 처리는 CommonReportProcessor에 위임한다.
|-
|-
| 백그라운드 워커  || Laravel Queue Worker ||  
| 백그라운드 워커  || Laravel Queue Worker ||  
25번째 줄: 23번째 줄:
|-
|-
| CLI 컨트롤러 || CommonReportCommand ||  
| CLI 컨트롤러 || CommonReportCommand ||  
* CommonReportProcessor 테스트/디버그
* CommonReportJob 오류 조회 및 수동 재처리
* CommonReport를 생성하고 CommonReportProcessor로 처리<ref>CommonReportJob를 생성하지 sync방식으로 처리한다.</ref>
* CommonReportJob를 동기/비동기로 호출하여 처리
* CommonReportJob 오류 조회 및 재처리
* 동기방식으로 수행하여 디버깅 가능
* Foreground 및 Sync방식으로 처리하므로 문제점을 직접 확인할 수 있다.
|}
|}



2019년 6월 23일 (일) 03:47 기준 최신판

1 개요[ | ]

통용보고서 동작구조
통용보고서 아키텍처
구분 클래스/모듈 설명
모델 CommonReport
  • 통용보고서 모델
  • 상태: 0(init), 1(in progress), 2(done), 3(error)
Job CommonReportJob
  • 통용보고서 처리 작업
  • 통용보고서를 완성시키는 실제 작업을 수행하는 클래스
  • Foreground/Background 요청 모두 여기서 동일하게 처리한다.
HTTP 컨트롤러 CommonReportController
  • 통용보고서 URL 라우트에 의한 HTTP 요청을 받는다.
  • 미완성 상태의 통용보고서(CommonReport)를 생성한다.
  • CommonReportJob(비동기 작업)을 큐에 등록한다.
백그라운드 워커 Laravel Queue Worker
  • 라라벨 작업큐를 감시하고 CommonReportJob 트리거
CLI 컨트롤러 CommonReportCommand
  • CommonReportJob 오류 조회 및 수동 재처리
  • CommonReportJob를 동기/비동기로 호출하여 처리
  • 동기방식으로 수행하여 디버깅 가능

2 같이 보기[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}