public Scheduler CreateTask(ScheduleConfig config, Action task) { var taskToAdd = new ScheduleTask(config, task); if (null == taskToAdd.UpdateNextFireTime()) return this; lock (_tasks) { _tasks.Add(taskToAdd); } return this; }
/// <summary> /// 更新下次执行时间并确定是否会再次执行 /// </summary> /// <returns> /// true: 下次还会执行 /// false:下次不会执行,执行后从计划移除 /// null: 不执行,不加到计划 (添加时已过期) /// </returns> public abstract bool? CalcNextFireTime(ScheduleTask task);