Jump to content

Recommended Posts

Posted

I have several servers which have failures at the same time. The failure is triggered through a randomly fired event. But i also want the servers to be repaired at the same time. So first my idea was to use an Input Parameter for the "Time to Repair" section for each Server.Because i want a random distributed repair time which changes every time the servers have a failure. But it should be for all servers the same repair time time. So for example failure 1, repair time: 4 min. Failure 2, repair time: 2 min. And that for all servers. I hope you know what i mean. How can i realize that?

Posted

So if i understand correctly, you want all of the servers to fail at the same time, then get repaired at the same time?

You could do it with a custom object, but perhaps there is a simpler way.


1) Create a Process that has 3 steps:

-Delay until next Failure time.

-Assign a custom state (for example TimeToRepairMyServers) a value drawn for a distribution.

-Fire an event (like FailMyServers), then connect to input side of Delay to cause it to repeat the logic.


2) In each server's Reliability Logic:

-FailureType: Event Count Based

-Event Name: FailMyServers

-Count Between Failures: 1

-Time To Repair: TimeToRepairMyServers


All your servers will fail at the same time when the even is fired. And all will use the current value stored in TimeToRepairMyServers as their repair time.

Posted

Yes that was exactly what i wanted to do. Works perfect!

But how i do that if i want to have several groups of servers with different failure and repairing times? So same situation but several groups with different behavior. Each group of server has its own failure and repairing times. Because i can't have several processes starting " OnRunInitialized". Otherwise i would just copy&paste the same for each group. To let them fail is not the problem. Therefore i can create an distributed timer for each group. For me the problem is again the repair time.

Posted

OnRunInitialized could have multiple Execute steps with the Token Wait Option of None. So each set of servers would have its own process and its own repair time state.


Or, as you seem to have discovered you can bypass the OnRunInitialized option, simplify the processes and simply have a Timer dedicated to each server group and that timer is what initiates the process.

×
×
  • Create New...