// 执行的时间表。关于 CRON 详细信息,见 https://en.wikipedia.org/wiki/Cron#CRON_expression private string ConvertToCronExpression(ScheduleCronOptions cronOptions) { switch (cronOptions.scheduleCron) { case ScheduleCron.Minutely: return(Cron.Minutely()); case ScheduleCron.Hourly: return(Cron.Hourly(cronOptions.Minute)); case ScheduleCron.Daily: return(Cron.Daily(cronOptions.Hour, cronOptions.Minute)); case ScheduleCron.Weekly: return(Cron.Weekly((DayOfWeek)cronOptions.Week, cronOptions.Hour, cronOptions.Minute)); case ScheduleCron.Monthly: return(Cron.Monthly(cronOptions.Day, cronOptions.Hour, cronOptions.Minute)); case ScheduleCron.Yearly: return(Cron.Yearly(cronOptions.Month, cronOptions.Day, cronOptions.Hour, cronOptions.Minute)); default: throw new InvalidOperationException("Can not convert the scheduleCronOptions to cron."); } }
// 执行的时间表。关于 CRON 详细信息,见 https://en.wikipedia.org/wiki/Cron#CRON_expression private string ConvertToCronExpression(ScheduleCronOptions cronOptions) { switch (cronOptions.scheduleCron) { case ScheduleCron.Minutely: return Cron.Minutely(); case ScheduleCron.Hourly: return Cron.Hourly(cronOptions.Minute); case ScheduleCron.Daily: return Cron.Daily(cronOptions.Hour, cronOptions.Minute); case ScheduleCron.Weekly: return Cron.Weekly((DayOfWeek) cronOptions.Week, cronOptions.Hour, cronOptions.Minute); case ScheduleCron.Monthly: return Cron.Monthly(cronOptions.Day, cronOptions.Hour, cronOptions.Minute); case ScheduleCron.Yearly: return Cron.Yearly(cronOptions.Month, cronOptions.Day, cronOptions.Hour, cronOptions.Minute); default: throw new InvalidOperationException("Can not convert the scheduleCronOptions to cron."); } }
// action 必须是 public 方法 public void AddTask(Expression<Action> action, ScheduleCronOptions cronOptions) { var cron = this.ConvertToCronExpression(cronOptions); RecurringJob.AddOrUpdate(action, cron); }
// action 必须是 public 方法 public void AddTask(Expression <Action> action, ScheduleCronOptions cronOptions) { var cron = this.ConvertToCronExpression(cronOptions); RecurringJob.AddOrUpdate(action, cron); }
public void AddTask(Expression <Action> action, ScheduleCronOptions schedule) { newCollection.Value.Add(Tuple.Create(action, schedule)); }