2012-05-26 2 views
1

대기중인 전송을 통해 한 프로세스에서 다른 프로세스로 메시지를 보내는 기존 응용 프로그램이 있습니다. 메시지가 처리되는 방식을 처리하고 대기열이 대기열의 맨 위에있는 메시지와 함께 우선 순위 대기열로 더 많이 행동하도록 지연함으로써 메시지가 처리되는 방식을 변모하고 싶습니다.지연된 메시지 큐 호출?

IE는 : 시간 0에서 메시지가

15 분의 지연 대기열에 전송된다. 5 분 후에 메시지 B가 지연 10 분 동안 대기열로 전송됩니다. 대기열을 처리하는 서비스가 충돌 한 다음 15 분 동안 다시 시작되지 않습니다. 큐가 다시 처리를 시작하면 메시지 B가 맨 위에 표시되고 메시지 A가옵니다.

C#/MSMQ/.NET 에코 시스템에는 이와 같은 것이 있습니까?

+0

MSMQ 메시지는 수신시 우선 순위가 부여 될 수 있습니다. http://stackoverflow.com/questions/1310414/getting-message-by-priority-from-msmq –

+0

메시지가 충돌하지 않으면 메시지 A가 먼저 처리됩니까? –

+0

나는 우선 순위를 원하지만, 기본적으로 시뮬레이션을 원한다. 이 메시지는 30 분 동안 처리되지 않으며 더 높은 우선 순위의 다른 메시지를 사용할 수없는 경우 즉시 처리되지 않습니다. –

답변

1

Windows Azure에서 클라우드 프로그래밍을하는 경우이를 처리 할 수있는 방법이 있습니다. 메시지를 넣으려면 visibilitytimeout을 지정하기 만하면됩니다.

http://msdn.microsoft.com/en-us/library/windowsazure/dd179346.aspx에서

:

visibilitytimeout =

선택 사항. 지정된 경우 x-ms-version 2011-08-18 또는 그 이후 버전을 사용하여 요청해야합니다. 지정하지 않으면 기본값은 0입니다. 새 가시성 시간 초과 값 (초 단위)을 서버 시간을 기준으로 지정합니다. 새 값은 0보다 크거나 같아야하며 7 일보다 클 수 없습니다. 메시지의 공개 시간 제한을 만료 시간보다 늦은 값으로 설정할 수 없습니다. visibilitytimeout은 time-to-live 값보다 작은 값으로 설정해야합니다.

선택적 가시성 제한 시간은 메시지가 보이지 않을 시간을 지정합니다. 제한 시간이 만료되면 메시지가 표시됩니다. 가시성 타임 아웃을 지정하지 않으면 기본값 0이 사용됩니다.