Esempio n. 1
0
        public CqrsEngineHost Build(CancellationToken token)
        {
            var host = new CqrsEngineHost(Processes.AsReadOnly());

            host.Initialize(token);
            return(host);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 5
0
        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);
        }
Esempio n. 7
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();
        }
 public CqrsEngineHost Build(CancellationToken token)
 {
     var host = new CqrsEngineHost(Processes.AsReadOnly());
     host.Initialize(token);
     return host;
 }
Esempio n. 9
0
 public CqrsEngineHost Build()
 {
     var host = new CqrsEngineHost(Processes.AsReadOnly());
     host.Initialize();
     return host;
 }
Esempio n. 10
0
 public void when_start_task_where_empty_task()
 {
     var host = new CqrsEngineHost(new IEngineProcess[]{});
     host.Start(new CancellationToken());
 }