public ProgramManager(ILoggerFactory loggerFactory,
                       IProcessManagerApiClient processManagerApiClient,
                       IOptions <ProgramManagerOptions> programManagerOptions)
 {
     loggerFactory.AddConsole();
     _logger = loggerFactory.CreateLogger <ProgramManager>();
     _processManagerApiClient = processManagerApiClient;
     _programManagerOptions   = programManagerOptions;
 }
        public ProcessManager(
            IProcessManagerApiClient httpClient,
            ILoggerFactory loggerFactory,
            IOptions <ProcessManagerOptions> options)
        {
            _httpClient = httpClient;
            _logger     = loggerFactory.CreateLogger <ProcessManager>();
            _options    = options;
            _uuid       = GenerateUUID();
            _processes  = new List <ChildProcess>();

            _healthCheckTimer          = new Timer(_options.Value.HealthCheckInterval);
            _healthCheckTimer.Elapsed += OnHealthCheckTimer;
            _healthCheckTimer.Start();
        }
Example #3
0
        public void Configure(IApplicationBuilder app, IHostingEnvironment env, IServiceProvider serviceProvider, IApplicationLifetime appLifetime, IProcessManagerApiClient processManagerApiClient, IProcessManager processManager)
        {
            _serviceProvider = serviceProvider;

            app.UseExceptionHandler();
            app.UseHealthCheck();
            app.UseProcessManagement();

            app.Run(async context =>
            {
                await context.Response.WriteAsync("Test Response");
            });

            appLifetime.ApplicationStarted.Register(() =>
            {
                var headers = new Dictionary <string, string> {
                    { ProcessManagementConstants.ProcessManagerHeader, processManager.GetUUID() }
                };

                processManagerApiClient.GetAsync <string, string>($"/{ProcessManagementConstants.PROCESS_MANAGEMENT_ROUTE_PREFIX}/event/?eventId=0", headers);
            });
        }