public RecurringTaskModuleMiddleware(RequestDelegate next, IRevaleeClientRecurringSettings recurringConfig, IRevaleeRegistrar revalee, IOptions <RevaleeOptions> option) { _next = next; _recurringConfig = recurringConfig; _revalee = revalee; _option = option; }
static async Task <TaskManifest> LoadManifest(HttpContext context, IRevaleeClientRecurringSettings recurringConfig, IRevaleeRegistrar revalee, IOptions <RevaleeOptions> option) { TaskManifest manifest = null; if (recurringConfig == null || !recurringConfig.TaskModel.Any()) { manifest = new TaskManifest(revalee, context, option); } else { manifest = new TaskManifest(revalee, context, option, recurringConfig); if (!manifest.IsEmpty) { await manifest.Start(); } } return(manifest); }
internal TaskManifest(IRevaleeRegistrar revalee, HttpContext context, IOptions <RevaleeOptions> option, IRevaleeClientRecurringSettings configuredTasks) { if (configuredTasks == null) { throw new ArgumentNullException(nameof(configuredTasks)); } _option = option.Value; _revalee = revalee; _context = context; _callbackBaseUri = configuredTasks.CallbackBaseUri; InitVariables(); var taskList = new List <ConfiguredTask>(); using (var taskBuilder = new TaskBuilder(_callbackBaseUri)) { foreach (var task in configuredTasks.TaskModel) { taskList.Add(taskBuilder.Create(_clockSource, task.Periodicity, task.Day.GetValueOrDefault(), task.Hour.GetValueOrDefault(), task.Minute, task.Url)); if (CallbackBaseUri == null) { ScavengeForCallbackBaseUri(task.Url); } } } _taskCollection = new ImmutableTaskCollection(taskList); }
internal static async Task PrepareManifest(HttpContext context, IRevaleeClientRecurringSettings recurringConfig, IRevaleeRegistrar revalee, IOptions <RevaleeOptions> option) { _manifest = await LoadManifest(context, recurringConfig, revalee, option); }