Add messages_ready check.

not a big one but it is probably good practice to use `else if` here so that you don't evaluate the `message-ready` check if you have already matched `consumers`