internal CronSchedule()

in src/WebJobs.Extensions/Extensions/Timers/Scheduling/CronSchedule.cs [21:45]


        internal CronSchedule(CrontabSchedule schedule, ILogger logger)
        {
            _cronSchedule = schedule;
            var cron = schedule.ToString();

            var parts = cron.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
            IsInterval = false;

            // in cron expressions, if any the first 3 parts (2 if not using seconds)
            // contain "*", "-", or "/" then it is considered an interval
            int partsToCheck = parts.Length == 6 ? 3 : 2;
            for (int i = 0; i < partsToCheck; i++)
            {
                var part = parts[i];
                if (part.Contains("*") ||
                    part.Contains("/") ||
                    part.Contains("-"))
                {
                    IsInterval = true;
                    break;
                }
            }

            _logger = logger ?? throw new ArgumentNullException(nameof(logger));
        }