R&D
redis queue system
devTak
2022. 3. 30. 12:38
반응형
레디스로 커스텀한 Queue 시스템 제작
Redis 구조
Job
- 각 디렉토리별 실행 할 Job 의 대한 데이터
Key : {app_name}:schedule:{unique-key}:{step}:{directory}
Key | Value | Example |
command | 실행 커맨드 | 실행 커맨드 명 |
uniqueKey | uniqueKey 값 | 61e91b322847182135 |
Step
Step | Definition |
standby | job 대기 상태 |
processing | job 실행 상태 |
completed | job 완료 상태 |
failed | job 실패 상태 |
Manage
- kernel.php 에 등록한 job 하나에 대한 디렉토리들을 관리하는 데이터
Key : {app_name}:schedule:manage:{unique-key}
Key | Value | Example |
startTime | Job 시작시간 | 2022-01-20 15:40:01 |
totalCount | Job 실행할 모든 개수 | 20 |
uniqueKey | job 고유 키 값 | 61e903c16c2b150852 |
failedCount | 실패 개수 | 1 |
completedCount | 성공 개수 | 19 |
endTime | job 종료시간 | 2022-01-20 16:41:02 |
데이터 흐름
Complete 와 Failed 된 데이터를 서비스에 로그형태로 구성하고, 해당 레디스의 상태를 읽어서 관리페이지를 만듦
반응형