WD0001 Posted November 6 Share Posted November 6 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? Link to comment Share on other sites More sharing options...
WD0001 Posted November 6 Author Share Posted November 6 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 More sharing options...
ViniciusF Posted November 6 Share Posted November 6 (edited) 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 November 6 by ViniciusF Link to comment Share on other sites More sharing options...
Recommended Posts