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 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 void when_start_task_where_empty_task() { var host = new CqrsEngineHost(new IEngineProcess[]{}); host.Start(new CancellationToken()); }