public void Given_monitor_sent_shutdown_request_When_suspect_is_active_Then_new_shutdown_request_is_scheduled() { var recycleConfiguration = new RecycleConfiguration(TimeSpan.FromMilliseconds(200), TimeSpan.FromMilliseconds(600)); var watched = CreateTestProbe(); var monitor = Sys.ActorOf(Props.Create(() => new RecycleMonitorActor(recycleConfiguration, watched, null)), "monitor"); Watch(monitor); watched.ExpectMsg <Shutdown.Request>(); watched.Send(monitor, RecycleMonitorActor.Activity.Instance); watched.ExpectNoMsg(TimeSpan.FromMilliseconds(400)); watched.Send(monitor, RecycleMonitorActor.Activity.Instance); watched.ExpectNoMsg(TimeSpan.FromMilliseconds(400)); watched.Send(monitor, RecycleMonitorActor.Activity.Instance); watched.ExpectNoMsg(TimeSpan.FromMilliseconds(400)); watched.Send(monitor, RecycleMonitorActor.Activity.Instance); watched.ExpectNoMsg(TimeSpan.FromMilliseconds(400)); watched.Send(monitor, RecycleMonitorActor.Activity.Instance); watched.ExpectNoMsg(TimeSpan.FromMilliseconds(400)); watched.ExpectMsg <Shutdown.Request>(); Sys.Stop(watched); ExpectTerminated(monitor); }
public void Given_monitor_When_time_pass_Then_it_sents_shutdown_request_to_Suspect_and_terminates() { var recycleConfiguration = new RecycleConfiguration(TimeSpan.FromMilliseconds(100), TimeSpan.FromMilliseconds(50)); var watched = CreateTestProbe(); var monitor = Sys.ActorOf(Props.Create(() => new RecycleMonitorActor(recycleConfiguration, watched, TestActor)), "monitor"); Watch(monitor); watched.ExpectMsg <Shutdown.Request>(); Sys.Stop(watched); ExpectMsg <Shutdown.Complete>(); ExpectTerminated(monitor); }
private IDomainConfiguration CreateDomainConfiguration(TimeSpan childClearPeriod, TimeSpan childMaxInactiveTime) { var recycleCfg = new RecycleConfiguration(childClearPeriod, childMaxInactiveTime); var balloonDependencyFactory = new BalloonDependencyFactory() { RecycleConfigurationCreator = () => recycleCfg }; var processManagerDependenciesFactory = new SoftwareProgrammingProcessDependenciesFactory(); processManagerDependenciesFactory.StateDependencyFactory.RecycleConfigurationCreator = () => recycleCfg; return(new DomainConfiguration(b => b.RegisterAggregate(balloonDependencyFactory), b => b.RegisterProcessManager(processManagerDependenciesFactory))); }