private async Task UpdateEntry(ITimeTask timeTask, Func <ITimeTask, Task> exec) { using var scope = _serviceProvider.CreateScope(); var work = scope.ServiceProvider.GetRequiredService <IUnitOfWork>(); if (exec != null) { await exec.Invoke(timeTask); } _list[timeTask.Name] = await work.TimedTaskRepository.UpdateTime(timeTask.Name); await work.SaveChanges(); }
private (bool NeedRun, bool NeedCreate) NeedRun(ITimeTask task) { return(_list.TryGetValue(task.Name, out var entity) ? (entity.LastRun + task.Interval < DateTime.Now, false) : (false, true)); }