I have a background processor that listens to a service bus queue and messages need to be processed in order per Session ID.
I'd like to ensure that no more than 5 messages are processed in parallel - meaning I'd like to process 5 sessions at once.
If there are more than 5 sessions at any given time, is there any way I can ensure that all sessions are eventually handled?
Even if I drop a certain session and then accept a new session after that, the same session might be processed again. Can I ensure that the accepted session is the one that contains the oldest unprocessed message?