コード例 #1
0
 public static void Initialize(IEventRegistry eventRegistry, IEventBus eventBus, AnalyticsOperationRequestRepository OperationRequestRepository, AnalyticsRegistry analyticsRegistry)//, IServiceProvider services)
 {
     _eventRegistry = eventRegistry;
     _eventBus      = eventBus;
     _OperationRequestRepository = OperationRequestRepository;
     _analyticsRegistry          = analyticsRegistry;
 }
コード例 #2
0
 /// <summary>
 /// Subscribe to diagnostics info. Accesses repository to update metadata (status, errors etc.) of operations.
 /// </summary>
 public static void Listen()
 {
     _eventRegistry.Register <DiagnosticsResponseEvent>(Exchanges.Diagnostics);
     _eventBus.Subscribe((DiagnosticsResponseEvent @event) =>
     {
         using (IServiceScope scope = Services.CreateScope())
         {
             _OperationRequestRepository = scope.ServiceProvider.GetRequiredService <AnalyticsOperationRequestRepository>();
             _OperationRequestRepository.Update(@event.Operation);
             _OperationRequestRepository.SaveChanges();
         }
     });
 }
コード例 #3
0
        /// <summary>
        /// Sample event subsribe: Register + Subscribe
        /// </summary>
        /// <param name="app"></param>
        public static void SubscribeEvents(this IApplicationBuilder app)
        {
            IEventRegistry registry = app.ApplicationServices.GetRequiredService <IEventRegistry>();

            registry.Register <TimeSeriesAnalysisRequestEvent>(Exchanges.TimeSeries);
            registry.Register <DiagnosticsResponseEvent>(Exchanges.Diagnostics);
            registry.Register <AnalyticModuleRegistrationRequestEvent>(Exchanges.ModuleRegistration);

            DiagnosticsListener.Services = app.ApplicationServices.GetRequiredService <IServiceProvider>();

            using (IServiceScope scope = app.ApplicationServices.GetRequiredService <IServiceProvider>().CreateScope())
            {
                IEventBus         eventBus          = scope.ServiceProvider.GetRequiredService <IEventBus>();
                AnalyticsRegistry analyticsRegistry = scope.ServiceProvider.GetRequiredService <AnalyticsRegistry>();
                AnalyticsOperationRequestRepository operationRequestRepository = scope.ServiceProvider.GetRequiredService <AnalyticsOperationRequestRepository>();

                DiagnosticsListener.Initialize(registry, eventBus, operationRequestRepository, analyticsRegistry);
                DiagnosticsListener.Listen();
                DiagnosticsListener.ListenNewModules();
            }
        }
コード例 #4
0
 public AnalyticsService(IEventBus eventBus, AnalyticsOperationRequestRepository operationRequestRepository, AnalyticsRegistry analyticsRegistry)
 {
     _eventBus = eventBus;
     _operationRequestRepository = operationRequestRepository;
     _analyticsRegistry          = analyticsRegistry;
 }