Jump to content

Routing group availability depends on the entire route


Recommended Posts

  • Server1 is "available" if Conveyor4 has room for another entity.
  • Server2 is "available" if Conveyor8 has room for another entity.
  • Also, a server is only available if its Failure is not active.

What is the best way to achieve this?
Should I route entities to:

Input@Server1 / Input@Server2

or

BasicNode1 / BasicNode2, and block those nodes when the corresponding server fails?

image.thumb.png.6e9e182cc62f40e57c781a4ead2ab003.png

Link to comment
Share on other sites

I found a simple solution that seems to work.

I added a property to my custom server called "MaximumNumberRoutingIn", and used that in the Routing Group's "Destination Blocked Condition" expression.
Candidate.Node.NumberTravelers.RoutingIn >= Candidate.Node.AssociatedObject.MyServer.MaximumNumberRoutingIn

Link to comment
Share on other sites

Hi,

What I like to do on these cases is to use Resources on a clever way:

  • Create two dummy resources (one for each server). Set the capacity of those resources to how many entities you would allow on the respective conveyor.
  • When an entity hits the Transfernode1, you seize from a list of the two dummy resources.
  • Use a Set Node step to redirect the entity to the according Server depending of the Dummy resource chosen.
  • When the entity leaves the Server (or enters the Server, depending on the logic), release the Dummy resource.

You would need only to make the Dummy resource fail together with the server, or just put the failure on the Dummy resources instead of the server. Shouldn't make a big difference depending of what results you would need.

Edited by ViniciusF
Link to comment
Share on other sites

×
×
  • Create New...