2016-08-29 5 views
0

대기열에있는 메시지가 있지만 메시지가 성공적으로 전송되면 대기열에서 메시지를 삭제하고 싶지 않습니다. 다른 시간에 다시 트리거하기 위해 메시지를 보관하고 싶습니다. 누구도 rabbitMQ를 구성하는 방법에 대한 아이디어가 있습니까?대기열에있는 메시지 대기열

답변

2

하지만 그렇게 할 수는 없지만 교환기에 두 번째 대기열을 추가하고 메시지를 둘 다로 라우팅 할 수 있습니다. 나중에 두 번째부터 소비 할 수 있습니다.

또는 소비하는 응용 프로그램을 동일하거나 다른 큐에 다시 게시 할 수 있습니다.

+0

정확히 +1. 또한 (검색하지 않고) 또 다른 솔루션을 제공 할 수있는 확장 기능이있을 수 있습니다. '다른 시간에'이 부분에 대한 의미가 있습니다. (항상 rmq에 대한 모든 확장 기능에 놀랐습니다.)하지만 재 게시가 가장 적합 할 것 같습니다. . – cantSleepNow

0

당신이 할 수있는 일은 개념 적 데드 레터 큐입니다. 메시지를 성공적으로 읽은 후에는 해당 메시지를 데드 레터 큐로 이동할 수 있습니다.

때로는 나중에 메시지를 처리 ​​할 수있는 유일한 방법입니다. 또는 동일한 대기열에 메시지를 보관하려는 경우 완료와 같은 작업을 수행 할 수 있습니다. 메시지를 확인하고 대기 상태로 두지 만 결국 대기열을 차단할 수 있습니다.

데드 큐를 사용하면 문제가 해결되지만 일반적으로 데드 레터 큐의 목적은 대기열에 고정되어있을 때 메시지를 이동시키는 것입니다.