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));
 }