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 된 데이터를 서비스에 로그형태로 구성하고, 해당 레디스의 상태를 읽어서 관리페이지를 만듦
반응형