Beispiel #1
0
        public async Task DisablesTimerWhenNoTasksAreScheduledAsync()
        {
            var timeService       = new TimeService(TimeSpan.FromMinutes(1));
            var schedulingService = new SchedulingService(timeService);

            schedulingService.Start();
        }
Beispiel #2
0
 private void InitialiseSchedulingService()
 {
     schedulingService            = new SchedulingService();
     schedulingService.LogFactory = new NLogFactory();
     schedulingService.At("0 3 * * *").Run <CurrenciesUpdater>(); // 3:00 UTC
     schedulingService.Start();
 }
Beispiel #3
0
        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;
 }
Beispiel #5
0
        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);
        }
Beispiel #6
0
 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();
        }