Beispiel #1
0
 public MemoryResourceGovernor(IOptions <MemoryGovernanceOptions> options, ILogger <MemoryResourceGovernor> logger, IMemoryPressureMonitor monitor, ISafeTimerFactory timers)
 {
     _options = options?.Value ?? throw new ArgumentNullException(nameof(options));
     _logger  = logger ?? throw new ArgumentNullException(nameof(logger));
     _monitor = monitor ?? throw new ArgumentNullException(nameof(monitor));
     _timers  = timers ?? throw new ArgumentNullException(nameof(timers));
 }
Beispiel #2
0
 public BackgroundTaskManager(
     IEnumerable <IBackgroundTaskProvider> providers,
     ILogger <BackgroundTaskManager> logger,
     ISafeTimerFactory safeTimerFactory)
 {
     _safeTimerFactory = safeTimerFactory;
     _providers        = providers;
     _logger           = logger;
 }
Beispiel #3
0
        public void StartTasks(IServiceProvider serviceProvider)
        {
            if (serviceProvider == null)
            {
                throw new ArgumentNullException(nameof(serviceProvider));
            }

            _providers        = serviceProvider.GetService <IEnumerable <IBackgroundTaskProvider> >();
            _safeTimerFactory = serviceProvider.GetService <ISafeTimerFactory>();
            _logger           = serviceProvider.GetService <ILogger <BackgroundTaskManager> >();
            StartTasks();
        }