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

반응형