Exemple #1
0
        public void ShouldNotRunWorkForUnreachableCondition()
        {
            var fires    = 0;
            var cron     = new CronExpression("* * * 30 2 *");
            var interval = new JobInterval(cron, TimeZoneInfo.Utc, () => Task.FromResult(++fires));

            interval.Run();

            Assert.Equal(0, fires);
        }
Exemple #2
0
        public void ShouldRunWork()
        {
            var fires    = 0;
            var cron     = new CronExpression("* * * * * *");
            var interval = new JobInterval(cron, TimeZoneInfo.Utc, () => Task.FromResult(++fires));

            interval.Run();

            Task.Delay(2500).GetAwaiter().GetResult(); // Waiting for the job

            Assert.Equal(2, fires);
        }
Exemple #3
0
        /// <summary>
        /// Handy method to convert JobInterval enum value to minutes
        /// </summary>
        /// <param name="ji"></param>
        /// <returns></returns>
        public static int ToMinutes(this JobInterval ji)
        {
            switch (ji)
            {
            case JobInterval.Daily:
                return(60 * 24);

            case JobInterval.Hourly:
                return(60);

            case JobInterval.Quarterly:
                return(15);

            case JobInterval.HalfHour:
                return(30);

            default:
                throw new ArgumentException("Wrong JobInterval");
            }
        }