Jump to content

Interrupt Long Running Process and Transfer to Alternate Sink


rev201
 Share

Recommended Posts

Hello All,


I'm trying to create a model that will keep track of processing time for each transaction processed and reroute transactions that exceed a processing time threshold to an alternate sink. Initially, I attempted to rework the "Remove from Allocation Queue" Simbit, but the "Remove" process only seems to work with queues.


The model itself is very simple. Single source with a random exponential inter-arrival time, single processor with capacity of 50 and 2 sinks; one for completed transactions and one for long running transactions which are manually routed. Any guidance you can provide would be greatly appreciated.


Thank you,

Ryan

Link to comment
Share on other sites

You may wish to look at the SimBit that we have named InterruptingServerWithMultipleCapacity. In that example, the server delay time (processing time) is interrupted for other entities with higher priority for processing. You could instead have a duplicate entity for each one processing that delays for the 'maximum allowable' time and then interrupts the actual entity processing to go to alternative sink. Alternatively, you could have a single 'logic type' entity that on occasion checks the status of those processing entities for anyone processing past the 'maximum allowable' time and have it interrupted.

Link to comment
Share on other sites

×
×
  • Create New...