Пример #1
0
        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);
        }
Пример #2
0
        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);
        }
Пример #3
0
        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();
        }
Пример #4
0
 public void when_start_task_where_empty_task()
 {
     var host = new CqrsEngineHost(new IEngineProcess[]{});
     host.Start(new CancellationToken());
 }