public async Task DisablesTimerWhenNoTasksAreScheduledAsync() { var timeService = new TimeService(TimeSpan.FromMinutes(1)); var schedulingService = new SchedulingService(timeService); schedulingService.Start(); }
private void InitialiseSchedulingService() { schedulingService = new SchedulingService(); schedulingService.LogFactory = new NLogFactory(); schedulingService.At("0 3 * * *").Run <CurrenciesUpdater>(); // 3:00 UTC schedulingService.Start(); }
public void Register() { IStreamableFileFactory factory = ObjectFactory.CreateInstance(FluorineConfiguration.Instance.FluorineSettings.StreamableFileFactory.Type) as IStreamableFileFactory; base.AddService(typeof(IStreamableFileFactory), factory, false); factory.Start(null); SchedulingService service = new SchedulingService(); base.AddService(typeof(ISchedulingService), service, false); service.Start(null); IBWControlService service2 = ObjectFactory.CreateInstance(FluorineConfiguration.Instance.FluorineSettings.BWControlService.Type) as IBWControlService; base.AddService(typeof(IBWControlService), service2, false); service2.Start(null); base.Init(); }
public void Preload(string[] parameters) { _iisProcessBehavior = (IISProcessBehavior)ConfigurationManager.GetSection("IISProcessBehavior"); LogItems = new List <Default.IProcessInfo>(); SchedulingService = new SchedulingService(); SchedulingService.Start(); foreach (var touchUrl in _iisProcessBehavior.TouchUrls) { var job = new Job <TouchUrl> { Data = touchUrl }; job.Run.From(DateTime.Now.AddMinutes(_iisProcessBehavior.WarmUpInterval + touchUrl.Interval)).Every.Minutes(touchUrl.Interval); SchedulingService.Submit <TouchUrl>(job, ScheduledTouchUrl); } Started = DateTime.Now; }
public async Task RespectsReschedulingAfterExecutionCompletedIsTrueAsync() { // Note: this is a real-time service! Don't wait for minutes here, otherwise unit tests will take too long ;-) var timeService = new TimeService(TimeSpan.FromSeconds(1)); var schedulingService = new SchedulingService(timeService); var hasReceivedCompletedEvent = false; var scheduledTask1 = new ScheduledTask { Name = "task 1", Start = timeService.CurrentDateTime.AddMinutes(1), Recurring = TimeSpan.FromHours(1), ScheduleRecurringTaskAfterTaskExecutionHasCompleted = true, Action = async() => { await Task.Delay(1000); } }; schedulingService.TaskStarted += (sender, e) => { // Task must be *not* here var newlyScheduledTask = schedulingService.GetScheduledTasks().FirstOrDefault(); Assert.IsNull(newlyScheduledTask); }; schedulingService.TaskCompleted += (sender, e) => { // Task must be here var newlyScheduledTask = schedulingService.GetScheduledTasks().FirstOrDefault(); Assert.IsNotNull(newlyScheduledTask); hasReceivedCompletedEvent = true; }; schedulingService.AddScheduledTask(scheduledTask1); schedulingService.Start(); await Task.Delay(10 * 1000); schedulingService.Stop(); Assert.IsTrue(hasReceivedCompletedEvent); }
public void When_start_SchedulingService_Then_job_should_execute() { SchedulingService.Start(); Assert.True(_sut.ExecuteWaitHandle.WaitOne(TimeSpan.FromSeconds(5))); }
public async Task DisablesTimerWhenNoTasksAreScheduled() { var timeService = new TimeService(TimeSpan.FromMinutes(1)); var schedulingService = new SchedulingService(timeService); schedulingService.Start(); }