private static int StartSilo(string[] args) { // define the cluster configuration var config = new ClusterConfiguration(); config.LoadFromFile("OrleansConfiguration.dev.xml"); config.UseStartupType <Startup>(); hostWrapper = new OrleansHostWrapper(config, args); return(hostWrapper.Run()); }
private static void AdjustClusterConfiguration(ClusterConfiguration config) { var settings = new Dictionary <string, string>(); // get initial settings from configs ProviderSettings.WriteProperties(settings); ProviderConfig.WriteProperties(settings); BalancerConfig.WriterProperties(settings); // register stream provider config.Globals.RegisterStreamProvider <MemoryStreamProvider>(StreamProviderName, settings); config.Globals.RegisterStorageProvider <MemoryStorage>("PubSubStore"); config.UseStartupType <TestStartup>(); }
static void RunSilo(int number) { var config = new ClusterConfiguration(); config.LoadFromFile($"../../OrleansConfiguration{number}.xml"); config.UseStartupType <Startup>(); config.Globals.DeploymentId = "Silo"; var silo = new SiloHost($"Silo {number}", config); silo.InitializeOrleansSilo(); silo.StartOrleansSilo(); silos.Add(silo); Console.WriteLine($"Silo {number} is ready."); }
internal ClusterActorSystem(ClusterConfiguration configuration, Action <IServiceCollection> di, ActorInvocationPipeline pipeline, IActorRefInvoker invoker) : base(invoker) { this.di = di; Pipeline = pipeline; current = this; configuration.UseStartupType <Startup>(); using (Trace.Execution("Orleans silo initialization")) { Host = new SiloHost(Dns.GetHostName(), configuration); Host.LoadOrleansConfig(); Host.InitializeOrleansSilo(); } Silo = Host.GetSilo(); Initialize(Silo.GetServiceProvider()); }
public override ClusterConfiguration Build() { var rvalue = new ClusterConfiguration(); DirectoryInfo dir = new DirectoryInfo(_configurationFileDir); var file = dir.GetFiles(_configurationFileName)?.FirstOrDefault(); if (file != null) { rvalue.LoadFromFile(file.FullName); } rvalue.UseStartupType <ClusterStartup>(); rvalue.Globals.ServiceId = _serviceId; rvalue.Globals.DeploymentId = _serviceName.ToString().Replace("fabric:/", "").Replace('/', '-').Replace('.', '-'); rvalue.Globals.ClusterId = _clusterId; rvalue.Globals.DataConnectionString = _defaultConnectionString; rvalue.Globals.ReminderServiceType = ReminderServiceProviderType.AzureTable; rvalue.Globals.DataConnectionStringForReminders = _defaultConnectionString; return(rvalue); }
public static void ConfigureCustomQueueBalancer(Dictionary <string, string> streamProviderSettings, ClusterConfiguration config) { CustomPersistentProviderConfig.WriteProperties(streamProviderSettings); config.UseStartupType <TestStartup>(); }
static int Main(string[] args) { string environment = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT") ?? "Development"; var builder = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddInMemoryCollection(new Dictionary <string, string> // add default settings, that will be overridden by commandline { { "Id", "OrleansHost" }, { "Version", "1.0.0" }, { "DeploymentId", "testdeploymentid" }, }) .AddCommandLine(args) .AddJsonFile($"appconfig.json", optional: true) .AddJsonFile($"appconfig.{environment}.json", optional: true) .AddEnvironmentVariables("ASPNETCORE_"); // The CloudService will pass settings (such as) the connectionstring through environment variables if ("Development".Equals(environment) && builder.GetFileProvider().GetFileInfo("OrleansHost.csproj").Exists) { // For more details on using the user secret store see http://go.microsoft.com/fwlink/?LinkID=532709 builder.AddUserSecrets <Program>(); } var config = builder.Build(); loggerFactory.AddConsole(config.GetSection("Logging")); loggerFactory.AddDebug(); var logger = loggerFactory.CreateLogger <Program>(); ClusterConfiguration clusterConfig = ClusterConfiguration.LocalhostPrimarySilo(); clusterConfig.Globals.DeploymentId = config["Id"]; clusterConfig.Globals.DataConnectionString = config.GetConnectionString("DataConnectionString"); clusterConfig.AddMemoryStorageProvider("Default"); clusterConfig.AddMemoryStorageProvider("PubSubStore"); clusterConfig.AddSimpleMessageStreamProvider("Default"); clusterConfig.Defaults.DefaultTraceLevel = Orleans.Runtime.Severity.Warning; clusterConfig.Defaults.TraceFileName = ""; clusterConfig.UseStartupType <Startup>(); var siloHost = new SiloHost(config["Id"], clusterConfig); try { siloHost.InitializeOrleansSilo(); bool ok = siloHost.StartOrleansSilo(catchExceptions: false); if (!ok) { logger.LogError(string.Format($"Failed to start Orleans silo '{siloHost.Name}' as a {siloHost.Type} node.")); return(1); } } catch (Exception exc) { siloHost.ReportStartupError(exc); return(2); } Console.WriteLine("OrleansHost is running. Press [Ctrl]-C to stop..."); siloHost.WaitForOrleansSiloShutdown(); // logger.LogInformation(string.Format($"Orleans silo '{siloHost.Name}' shutdown. Press [Enter]")); // Console.ReadLine(); return(0); }