using API.Schema.MangaContext; using Microsoft.EntityFrameworkCore; namespace API.Workers; /// /// Creates Workers to update covers for Manga /// /// /// public class UpdateCoversWorker(TimeSpan? interval = null, IEnumerable? dependsOn = null) : BaseWorkerWithContext(dependsOn), IPeriodic { public DateTime LastExecution { get; set; } = DateTime.UnixEpoch; public TimeSpan Interval { get; set; } = interval ?? TimeSpan.FromHours(6); protected override async Task DoWorkInternal() { List> manga = await DbContext.MangaConnectorToManga.Where(mcId => mcId.UseForDownload).ToListAsync(CancellationToken); List newWorkers = manga.Select(m => new DownloadCoverFromMangaconnectorWorker(m)).ToList(); return newWorkers.ToArray(); } }