MATLAB: Server selecting which Queue to server

queue selectionserverSimEvents

(SimEvents)
I would like to create a queueing system with multiple queue priorities. For example, there are 3 queues for the customers, where queue 1 has highest priority and queue 3 has lowest.
I would like to link them all the queues to the server, and the server will serve customers on the queue with highest priority first. I realize that pathcombiner would not work, as it will not provide the information to which queue the customer comes from. What other configuration can be used?

Best Answer

Unless I'm missing something, the Path Combiner should work for your case. Connect the highest priority queue to input port 1 of Path Combiner, next highest priority queue to input port 2 etc. And set the "Input Port Precedence" parameter on the Path Combiner to be "IN1 port". Connect the output port of the Path Combiner to your single server.
The first entity to enter either of the three queues will be accepted by the Path Combiner and sent to the Server. When the server is done with that entity, the Path Combiner will first ask the block connected to its IN1 port whether an entity is available to be accepted. If so, it will send that entity to the Server. If nothing is available, then it will ask IN2 and so on. Since IN1 is connected to the highest priority queue, it will always get preference, and entities from this queue will be served first.