Use Timeouts to Limit Entity Queueing Time

The model below (open modelmodel) limits the time that each entity can spend in a queue, but does not limit the time in the server. The queue immediately ejects any entity that exceeds the time limit. For example, if each entity represents customers trying to reach an operator in a telephone support call center, then the model describes customers hanging up the telephone if they wait too long to reach an operator. If customers reach an operator, they complete the call and do not hang up prematurely.

Each customer's arrival at the Schedule Timeout block establishes a time limit for that customer. Subsequent outcomes for that customer are as follows:

  • Entity Times Out — If the customer is still in the queue when the clock reaches the time limit, the customer hangs up without reaching an operator. In generic terms, the entity times out, departs from the FIFO Queue block via the TO port, and does not reach the server.

  • Entity Advances to Server — If the customer gets beyond the queue before the clock reaches the time limit, the customer decides not to hang up and begins talking with the operator. In generic terms, if the entity arrives at the Cancel Timeout block before the clock reaches the time limit, the entity loses its potential to time out because the block cancels a pending timeout event. The entity then advances to the server.

Was this topic helpful?