0

메시지 큐 (RabbitMQ)를 사용하여 응용 프로그램에 비동기 파일 생성 모듈을 구현할 계획입니다. 사용자가 웹 응용 프로그램 UI를 통해 데이터를 입력하면 데이터가 MQ에 저장됩니다. 데이터에는 요청한 사용자의 ID도 포함됩니다. 대기열을 폴링하는 작업자 응용 프로그램이 있습니다. 작업자는 큐에서 항목을 제거하고 레코드를 처리 한 다음 결과로 파일을 만들고 데이터베이스에 파일을 저장합니다. 내 요구 사항은 를 '등의 상태를 표시한다 MQ에메시지 큐의 항목 상태를보고하는 방법

---------------------------- 
Report Name | Status  
---------------------------- 
Report 1  | Not Started 
Report 2  | Completed 
---------------------------- 

모든 항목 여전히 다음 표와 같이 나는, 그들이 만든 모든 요청의 상태를 표시하는 사용자에게 그리드를 표시 할 것입니다 시작되지 않음 '. 이론적으로 이것은 사용자 ID가 현재 사용자 ID 인 MQ의 모든 메시지를 쿼리하게합니다. 필자는 SQL 테이블에서와 달리 MQ에서 모든 메시지를 들여다 보는 것이 효율적이지 않을 수도 있습니다. 기본적으로 설계/아키텍처 관점에서 가능한 최상의 방법을 처리 할 수있는 다양한 /보다 나은 옵션을 찾고 있습니다.

답변

1

데이터베이스의 어딘가에 (SQL) 다음에 대기열에서 항목을 밀어 넣을 때 데이터베이스에서 항목을 추가 할 때 대기열에서 항목을 가져올 때 상태를 업데이트하고 완료 할 때 다시 할. 예, 두 번째 데이터베이스가있는 두통이 있지만 큐는 모든 메시지의 상태를 업데이트하지 않고 순차적으로 메시지를 처리 ​​할 수 ​​있도록 설계되었습니다.

관련 문제