public StopServiceActor(IOptions <StopServicesConfiguration> options, ILogger <StopServiceActor> logger, IServiceControllerService serviceControllerService) { Console.WriteLine("Hello"); //var logger = loggerFactory.CreateLogger(this.GetType().Name); logger.LogDebug($"In ctor()"); // get the ball rolling - note the exact same message is sent every single time here Context.System.Scheduler.ScheduleTellRepeatedly( TimeSpan.FromSeconds(30), TimeSpan.FromSeconds(30), Self, new StopServiceMessage(), Self); Receive <StopServiceMessage>((m) => { logger.LogDebug($"Received StopServiceMessage {m.CorrelationId}"); foreach (var serviceToStop in options.Value.ServicesToStop) { try { serviceControllerService.Stop(serviceToStop.ServiceName); } catch (Exception e) { logger.LogWarning($"Error stopping service {serviceToStop} - {e}"); Console.WriteLine(e); } } logger.LogDebug($"Processed {m.CorrelationId}"); }); }
public StopServicesAction(IOptions <StopServicesConfiguration> options, ILogger <StopServicesAction> logger, IServiceControllerService serviceControllerService) { _options = options; _logger = logger; _serviceControllerService = serviceControllerService; }