static async Task Main() { var scheduler = new ReminderScheduler( Logging.CreateLogger <ReminderScheduler>(), new ReminderStorage(ConnectionString), new ReminderSender(TelegramToken), new ReminderReceiver(TelegramToken) ); scheduler.ReminderSent += OnReminderSent; scheduler.ReminderFailed += OnReminderFailed; await scheduler.StartAsync( new ReminderSchedulerSettings { TimerDelay = TimeSpan.Zero, TimerInterval = TimeSpan.FromSeconds(1) }, CancellationTokenSource.Token ); Logger.LogInformation("Waiting reminders.."); Logger.LogInformation("Press any key to stop"); Console.ReadKey(); CancellationTokenSource.Cancel(); }
static void Main(string[] args) { //TestDataInMemory.Populate(); ReceiverDomain receiverDomain = new ReceiverDomain(); receiverDomain.Run(); ReminderScheduler scheduler = ReminderScheduler.Instance; scheduler.Run(); }
public TimerScheduler() { Log.Logger.Information($"Creating TimerScheduler"); BeeperScheduler = new BeeperScheduler(); ReminderScheduler = new ReminderScheduler(); BeeperScheduler.BeeperTimeUp += OnBeeperTimeUp; ReminderScheduler.RingingNeeded += OnReminderTimeUp; Log.Logger.Information($"Creating TimerScheduler done"); }
public void GivenReminderWithPastDateAndFailedSender_ShouldRaiseFailedEvent() { var raised = false; using var scheduler = new ReminderScheduler(Logger, Storage, FailedSender, Receiver); scheduler.ReminderFailed += (sender, args) => raised = true; scheduler.Start(DefaultSettings); Receiver.SendMessage(DateTimeOffset.UtcNow, "Message", "ContactId"); WaitTimers(); Assert.IsTrue(raised); }
public async Task GivenReminderWithPastDateAndSuccessSender_ShouldRaiseSentEvent() { var raised = false; var scheduler = new ReminderScheduler(Logger, Storage, SuccessSender, Receiver); scheduler.ReminderSent += (sender, args) => raised = true; await scheduler.StartAsync(DefaultSettings); Receiver.SendMessage(DateTimeOffset.UtcNow, "Message", "ContactId"); WaitTimers(); Assert.IsTrue(raised); }
static void Main(string[] args) { const string token = "1195265347:AAFqPN_gjbV95a369tnRuysJKSNt4DVn9ms"; var SchedulerSettings = new ReminderSchedulerSettings(TimeSpan.FromSeconds(5), TimeSpan.FromSeconds(10)); using var scheduler = new ReminderScheduler( new ReminderItemStorage(), new ReminderItemReceiver(token), new ReminderItemSender(token), SchedulerSettings); scheduler.Run(); Console.WriteLine("Scheduler working"); Console.ReadKey(); }
static void Main() { const string token = "579816050:AAEUKVMwEzwg1zgHnMH4q4rn3pjNu4Dovus"; using var factory = LoggerFactory.Create(_ => _.AddConsole()); using var scheduler = new ReminderScheduler( factory.CreateLogger <ReminderScheduler>(), new ReminderItemStorage(), new ReminderItemReceiver(token), new ReminderItemSender(token), new ReminderSchedulerSettings( readyTimerInterval: TimeSpan.FromSeconds(3), sendTimerInterval: TimeSpan.FromSeconds(5)) ); scheduler.Run(); Console.ReadKey(); }
static void Main(string[] args) { using var scheduler = new ReminderScheduler( Logging.CreateLogger <ReminderScheduler>(), new ReminderStorage(), new ReminderSender(TelegramToken), new ReminderReceiver(TelegramToken) ); scheduler.ReminderSent += OnReminderSent; scheduler.ReminderFailed += OnReminderFailed; scheduler.Start( new ReminderSchedulerSettings { TimerDelay = TimeSpan.Zero, TimerInterval = TimeSpan.FromSeconds(1) } ); Logger.LogInformation("Waiting reminders.."); Logger.LogInformation("Press any key to stop"); Console.ReadKey(); }
static void Main(string[] args) { var scheduler = new ReminderScheduler( new ReminderStorage(), new ReminderSender(Token), new ReminderReceiver(Token) ); scheduler.ReminderSent += OnReminderSent; var cancellationToken = new CancellationTokenSource().Token; var t = scheduler.StartAsync(new ReminderSchedulerSettings { TimerDelay = TimeSpan.Zero, TimerInterval = TimeSpan.FromSeconds(1) }, cancellationToken); Console.WriteLine("Waiting reminders.."); Console.WriteLine("Press any key to stop"); Console.ReadKey(true); }
static void Main() { var storage = new ReminderItemStorage(); storage.Add( new ReminderItem(Guid.NewGuid(), "header", "message one", DateTimeOffset.Now.AddSeconds(20), "Artem")); storage.Add( new ReminderItem(Guid.NewGuid(), "header", "message two", DateTimeOffset.Now.AddMinutes(-1), "Artem")); storage.Add( new ReminderItem(Guid.NewGuid(), "header", "message three", DateTimeOffset.Now.AddMinutes(1), "Artem")); using var scheduler = new ReminderScheduler( storage, new ReminderSchedulerSettings( readyTimerInterval: TimeSpan.FromSeconds(3), sendTimerInterval: TimeSpan.FromSeconds(5)) ); scheduler.ReminderSent += (sender, args) => Console.WriteLine($"Reminder for: {args.DateTime} with message: {args.Message}"); scheduler.Run(); Console.WriteLine("Scheduler working"); Console.ReadKey(); }
public void test2() { var reminder = new ReminderItem[] { new ReminderItem(Guid.NewGuid() , "Test1" , "Reminder1" , DateTimeOffset.UtcNow.AddMinutes(-1) , "UserName") }; var storage = new ReminderItemStorage(reminder); using var cheduler = new ReminderScheduler( storage, new ReminderItemReceiver(), new ReminderItemSender(), new ReminderSchedulerSettings(TimeSpan.FromMilliseconds(300), TimeSpan.FromMilliseconds(500)) ); cheduler.Run(); Thread.Sleep(TimeSpan.FromMilliseconds(800)); var item = storage.FindBy(ReminderItemFilter.ByStatus(ReminderItemStatus.Filed)); // goto нет sleep Assert.IsNotNull(item); }