public CqrsEngineHost Build(CancellationToken token) { var host = new CqrsEngineHost(Processes.AsReadOnly()); host.Initialize(token); return(host); }
public CqrsEngineHost Build() { var host = new CqrsEngineHost(Processes.AsReadOnly()); host.Initialize(); return(host); }
public void when_disposed_task() { var testEngineProcess = new TestEngineProcess(); var host = new CqrsEngineHost(new[] { testEngineProcess, }); host.Dispose(); Assert.IsTrue(testEngineProcess.IsDisposed); }
public void when_start_task() { var testEngineProcess = new TestEngineProcess(); var host = new CqrsEngineHost(new[] { testEngineProcess, }); var task = host.Start(new CancellationToken()); task.Wait(); Assert.IsTrue(testEngineProcess.IsStarted); }
public override bool OnStart() { ServicePointManager.DefaultConnectionLimit = 48; ConfigureObserver(); var conn = AzureSettingsProvider.GetStringOrThrow("DataConnection"); var config = AzureStorage.CreateConfig(conn); var startupMessages = new List<ISampleMessage>(); var roleName = RoleEnvironment.CurrentRoleInstance.Role.Name; var instanceId = RoleEnvironment.CurrentRoleInstance.Id; startupMessages.Add(new InstanceStarted("Inject git rev", roleName, instanceId)); { Console.WriteLine("Starting in funny mode by wiping store and sending a few messages"); WipeAzureAccount.Fast(s => s.StartsWith("sample-"), config); startupMessages.AddRange(DemoMessages.Create()); } var setup = new SetupClassThatReplacesIoCContainerFramework { CreateNuclear = strategy => config.CreateNuclear(strategy, "views"), Streaming = config.CreateStreaming(), Tapes = config.CreateTape(Topology.TapesContainer), CreateInbox = s => config.CreateInbox(s), CreateQueueWriter = s => config.CreateQueueWriter(s), }; var components = setup.AssembleComponents(); _host = components.Builder.Build(); foreach (var message in startupMessages) { components.Sender.SendOne(message); } return base.OnStart(); }
public void Start() { var config = FileStorage.CreateConfig(IntegrationPath, "files"); var setup = new SetupClassThatReplacesIoCContainerFramework { CreateNuclear = strategy => config.CreateNuclear(strategy), Streaming = config.CreateStreaming(), Tapes = config.CreateTape(Topology.TapesContainer), CreateInbox = s => config.CreateInbox(s), CreateQueueWriter = s => config.CreateQueueWriter(s), }; var components = setup.AssembleComponents(); cts = new CancellationTokenSource(); engine = components.Builder.Build(); task = engine.Start(cts.Token); Bus.SetBus(new SimpleBus(components.Sender, components.Dispatcher)); ProviderFactory.SetFactory(components.ProjectionFactory); }
public void Start(Guid agentId) { var worker = new Worker(ProductionInfrastructure.GetPipeline(), ProductionInfrastructure.SetupWorkingAreaGovernor()); var bus = ProductionInfrastructure.SetupBus(); env = Setup.BuildEnvironment(false, OSHelpers.LokadStorePath(), Config.Env.connection_string, Setup.OpensourceCustomer); cts = new CancellationTokenSource(); env.ExecuteStartupTasks(cts.Token); engine = env.BuildEngine(cts.Token); task = engine.Start(cts.Token); SourceRepoDriverFactory source_repo_driver_factory = url => new GitDriver(url); var agent = new Agent(bus, worker, source_repo_driver_factory, new string[] { }, agentId); var revision_checker = new RevisionChecker(bus, source_repo_driver_factory); var repository_tracker = new RepositoryTracker(bus, new RiakProjectRepository(OSHelpers.RiakHost(), OSHelpers.RiakPort(), "projects")); // var events_archiver = new EventsArchiver(bus, env.Store); var build_dispatcher = new BuildDispatcher(bus, new AgentStatuses(env.ViewDocs)); // events_archiver.JoinTheParty(); build_dispatcher.JoinTheParty(); agent.JoinTheParty(); revision_checker.JoinTheParty(); repository_tracker.JoinTheMessageParty(); repotrackingJob = new Thread(() => { var sleepPeriod = 60*1000; string mode = Environment.GetEnvironmentVariable("RUNZ_ACCEPTANCE_MODE"); if (!mode.IsNullOrEmpty() && mode == "ACCEPTANCE") sleepPeriod = 4*1000; while (true) { repository_tracker.CheckForUpdates(); Thread.Sleep(sleepPeriod); } }); repotrackingJob.Start(); }
public CqrsEngineHost Build(CancellationToken token) { var host = new CqrsEngineHost(Processes.AsReadOnly()); host.Initialize(token); return host; }
public CqrsEngineHost Build() { var host = new CqrsEngineHost(Processes.AsReadOnly()); host.Initialize(); return host; }
public void when_start_task_where_empty_task() { var host = new CqrsEngineHost(new IEngineProcess[]{}); host.Start(new CancellationToken()); }