using API.Schema.MangaContext; namespace API.Workers; public class StartNewChapterDownloadsWorker(TimeSpan? interval = null, IEnumerable? dependsOn = null) : BaseWorkerWithContext(dependsOn), IPeriodic { public DateTime LastExecution { get; set; } = DateTime.UnixEpoch; public TimeSpan Interval { get; set; } = interval ?? TimeSpan.FromMinutes(1); protected override BaseWorker[] DoWorkInternal() { IQueryable> mangaConnectorIds = DbContext.MangaConnectorToChapter.Where(id => id.Obj.Downloaded == false && id.UseForDownload); List newWorkers = new(); foreach (MangaConnectorId mangaConnectorId in mangaConnectorIds) newWorkers.Add(new DownloadChapterFromMangaconnectorWorker(mangaConnectorId)); return newWorkers.ToArray(); } }