Ejemplo n.º 1
0
        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}");
            });
        }
Ejemplo n.º 2
0
 public StopServicesAction(IOptions <StopServicesConfiguration> options,
                           ILogger <StopServicesAction> logger,
                           IServiceControllerService serviceControllerService)
 {
     _options = options;
     _logger  = logger;
     _serviceControllerService = serviceControllerService;
 }