Exemple #1
0
        public void Register <TJob, TThrottler>() where TJob : IJob
            where TThrottler : IThrottler
        {
            var jobDescriptor = new JobDescriptor(typeof(TJob))
            {
                ThrottlerType = typeof(TThrottler)
            };

            JobList.Add(jobDescriptor);
        }
Exemple #2
0
        /// <summary>
        ///
        /// </summary>
        /// <typeparam name="TJob">Job type</typeparam>
        /// <param name="cronExpression">Cron expression, <see cref="Cron"/> </param>
        public void Register <TJob>(string cronExpression) where TJob : IJob
        {
            var cron = CrontabSchedule.TryParse(cronExpression);

            if (cron == null)
            {
                throw new ArgumentOutOfRangeException($"{nameof(cronExpression)} is not valid!");
            }

            var jobDescriptor = new JobDescriptor(typeof(TJob))
            {
                Cron = cron
            };

            JobList.Add(jobDescriptor);
        }
Exemple #3
0
 public ProcessableCronJob(JobDescriptor jobDescriptor)
 {
     JobDescriptor = jobDescriptor;
     Schedule      = jobDescriptor.Cron;
     Type          = jobDescriptor.Type;
 }