MSMQ Message Throttling / Message Prioritization

I'm not sure how to best describe this, or the best title, so bear with me!

I use MSMQ to host a large number of commands that will trigger HTTP requests to various websites and APIs. To avoid overlaying these services (and in order to stay within certain predefined query limits), I need to ensure that tasks falling into the same domain are executed only after the minimum time has passed since the last request.

I used to use a database for a task queue, and therefore I could execute a query to achieve this, but we quickly overpowered this solution with the number of tasks (there are too many dead ends on the table).

Does anyone have any suggestions as to which approach we could take? I thought that I would simply take the items from the queue until I find the one you can complete, but I don’t know what to do to stop the order in the queue, so that we can withdraw thousands in one domain before finding it on another domain

Thanks!

+3
source share
2 answers

MSMQ? "" ! 4 , , , , , MSMQ ...

. , OUTPUT DELETE ( ).

, Service Broker. SSB , (MAX_QUEUE_READERS), / ( / ), , .

+2

, .

MSMQ , , , .

. MSMQ v

, , -, .

MSMQ , (.. MSMQ , ). MSMQ

+10

Source: https://habr.com/ru/post/1711253/


All Articles