public async Task FindActiveGrains_typed() { //IManagementGrain mgmtGrain = GrainClient.GrainFactory.GetGrain<IManagementGrain>(RuntimeInterfaceConstants.SYSTEM_MANAGEMENT_ID); //Catalog.GetGrainStatistics(); // start a second silo and wait for it if (HostedCluster.SecondarySilos.Count == 0) { HostedCluster.StartAdditionalSilo(); await HostedCluster.WaitForLivenessToStabilizeAsync(); } // create grains output.WriteLine("creating and activating grains"); var grain1 = GrainClient.GrainFactory.GetGrain <ISimpleGrain>(1); var grain2 = GrainClient.GrainFactory.GetGrain <ISimpleGrain>(2); var grain3 = GrainClient.GrainFactory.GetGrain <ISimpleGrain>(3); await grain1.GetA(); await grain2.GetA(); await grain3.GetA(); //enumerate active grains output.WriteLine("\n\nour own grain statistics"); IActiveGrainEnumeratorGrain enumGrain = GrainClient.GrainFactory.GetGrain <IActiveGrainEnumeratorGrain>(0); IEnumerable <IGrain> activeGrains = enumGrain.GetActiveGrains(typeof(ISimpleGrain)).Result; foreach (var entry in activeGrains) { output.WriteLine("guid = {0}", entry.GetPrimaryKey()); } Assert.Equal(3, activeGrains.AsQueryable().Count()); }
public async Task FindActiveGrains_typed() { await base.StartAndWaitForSecondSilo(); // create grains base.Output.WriteLine("creating and activating grains"); var grain1 = base.GetGrain <ISimpleGrain>(1); var grain2 = base.GetGrain <ISimpleGrain>(2); var grain3 = base.GetGrain <ISimpleGrain>(3); await grain1.GetA(); await grain2.GetA(); await grain3.GetA(); //enumerate active grains base.Output.WriteLine("\n\nour own grain statistics"); IActiveGrainEnumeratorGrain enumGrain = base.GetGrain <IActiveGrainEnumeratorGrain>(0); IEnumerable <IGrain> activeGrains = enumGrain.GetActiveGrains(typeof(ISimpleGrain)).Result; foreach (var entry in activeGrains) { base.Output.WriteLine("guid = {0}", entry.GetPrimaryKey()); } Assert.Equal(3, activeGrains.AsQueryable().Count()); }