Jump to content

Blocking a server through a waiting room

Recommended Posts



I need to block a specific server in my model, preventing this server from starting its the processing time. The conditions for this to happen are dictated by the following servers, according to a number. In this simplified model I made, if the entity went through the server M1, then this server will stay suspended until T4 finished its processing time. At the same time, M2 will have the same behavior.

Following the above, the server just before M1 and M2, called Volvo, must not start its processing time if M1 and M2 are working or if either one is working while the other one has suspended its processing time due to T4 is working with the entity just went through.

The thing is I already tried 2 approaches, the first one was through suspending the server called Volvo (Bloqueo volvo file), and resuming when T4 finished its processing time, but despites it is suspending Volvo's processing time, it doesn't resume it correctly. On the other hand, I tried using a waiting room that blocks the pass of entities trying to reach the Volvo server, but it works erratically (Bloqueo volvo cancha file).


I would appreciate any suggestion or help of any kind.


Thanks in advance. 

bloqueo volvo.spfx bloqueo volvo cancha.spfx

Link to comment
Share on other sites

Since I am not allowed to save my changes on your file directlt I am not able to upload your revised model. But, it is so simple to follow the steps to get what you wnat. First delete all your processes in your model and only for Volvo server define an afterprocessing add-on where you should include a decide step, an assign step and a wait step (see the attached file). Then, 

1) set decide type as conditional and set its condition as: (M1.Capacity.Remaining > 0 && Input@M1.NumberTravelers.RoutingIn == 0) && (M2.Capacity.Remaining > 0 && Input@M2.NumberTravelers.RoutingIn == 0) && (T4.Capacity.Remaining > 0 && Input@T4.NumberTravelers.RoutingIn == 0)

2) at assign step set state variable as: Volvo.ResourceState and set the new value as: 2 (setting this to 2 will block the volvo server)

3) at wait step set event name as Output@T4.Entered. 

I hope this works for youvolvo_afterprocessing.thumb.PNG.d5e7b063706b8255738aaa120888f0a4.PNG

Link to comment
Share on other sites


  • Create New...