Пример #1
0
 public void Start(ReminderSchedulerSettings settings)
 {
     _logger.LogInformation("Starting reminders scheduling");
     _timer = new Timer(OnTimerTick, null, settings.TimerDelay, settings.TimerInterval);
     _receiver.MessageReceived += OnMessageReceived;
     _logger.LogInformation("Started reminders scheduling");
 }
Пример #2
0
 public ReminderScheduler(IReminderItemStorage storage
                          , IReminderItemRecieiver receiver
                          , IReminderItemSender sender
                          , ReminderSchedulerSettings settings)
 {
     _storage  = storage;
     _receiver = receiver;
     _settings = settings;
     _sender   = sender;
 }
Пример #3
0
 public ReminderScheduler(
     ILogger <ReminderScheduler> logger,
     IReminderItemStorage storage,
     IReminderItemReceiver receiver,
     IReminderItemSender sender,
     ReminderSchedulerSettings settings)
 {
     _logger   = logger;
     _storage  = storage;
     _receiver = receiver;
     _sender   = sender;
     _settings = settings;
 }
Пример #4
0
        public async Task StartAsync(ReminderSchedulerSettings settings, CancellationToken cancellationToken)
        {
            _receiver.MessageReceived += OnMessageReceived;

            await Task.Delay(settings.TimerDelay, cancellationToken);

            while (!cancellationToken.IsCancellationRequested)
            {
                await SendScheduledRemindersAsync();

                await Task.Delay(settings.TimerInterval, cancellationToken);
            }
        }
Пример #5
0
        public async Task StartAsync(
            ReminderSchedulerSettings settings,
            CancellationToken cancellationToken = default)
        {
            _logger.LogInformation("Starting reminders scheduling");
            _receiver.MessageReceived += OnMessageReceived;

            await Task.Delay(settings.TimerDelay, cancellationToken);

            _logger.LogInformation("Started reminders scheduling");

            while (!cancellationToken.IsCancellationRequested)
            {
                await OnTickAsync();

                await Task.Delay(settings.TimerInterval, cancellationToken);
            }
        }
Пример #6
0
 public ReminderScheduler(IReminderItemStorage storage, ReminderSchedulerSettings settings)
 {
     _storage  = storage;
     _settings = settings;
 }