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 int CycleInSeconds => 0; //_options.Value. public void Execute() { 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); } } }