SendNotificationsWorker, CleanupMangaCoversWorker, UpdateChaptersDownloadedWorker add optional interval parameter

This commit is contained in:
2025-07-03 20:12:07 +02:00
parent d6847d769e
commit 0ac4c23ac9
4 changed files with 7 additions and 8 deletions

View File

@ -354,9 +354,8 @@ public class MangaController(IServiceScope scope) : Controller
return NotFound(nameof(LibraryId)); return NotFound(nameof(LibraryId));
MoveMangaLibraryWorker moveLibrary = new(manga, library, scope); MoveMangaLibraryWorker moveLibrary = new(manga, library, scope);
UpdateChaptersDownloadedWorker updateDownloadedFiles = new(manga, [moveLibrary]);
Tranga.AddWorkers([moveLibrary, updateDownloadedFiles]); Tranga.AddWorkers([moveLibrary]);
return Accepted(); return Accepted();
} }

View File

@ -2,10 +2,10 @@ using API.Schema.MangaContext;
namespace API.Workers.MaintenanceWorkers; namespace API.Workers.MaintenanceWorkers;
public class CleanupMangaCoversWorker(IEnumerable<BaseWorker>? dependsOn = null) : BaseWorkerWithContext<MangaContext>(dependsOn), IPeriodic public class CleanupMangaCoversWorker(TimeSpan? interval = null, IEnumerable<BaseWorker>? dependsOn = null) : BaseWorkerWithContext<MangaContext>(dependsOn), IPeriodic
{ {
public DateTime LastExecution { get; set; } = DateTime.UtcNow; public DateTime LastExecution { get; set; } = DateTime.UtcNow;
public TimeSpan Interval { get; set; } = TimeSpan.FromMinutes(60); public TimeSpan Interval { get; set; } = interval??TimeSpan.FromMinutes(60);
protected override BaseWorker[] DoWorkInternal() protected override BaseWorker[] DoWorkInternal()
{ {

View File

@ -1,11 +1,11 @@
using API.Schema.MangaContext; using API.Schema.MangaContext;
namespace API.Workers; namespace API.Workers;
public class UpdateChaptersDownloadedWorker(Manga manga, IEnumerable<BaseWorker>? dependsOn = null) public class UpdateChaptersDownloadedWorker(Manga manga, TimeSpan? interval = null, IEnumerable<BaseWorker>? dependsOn = null)
: BaseWorkerWithContext<MangaContext>(dependsOn), IPeriodic : BaseWorkerWithContext<MangaContext>(dependsOn), IPeriodic
{ {
public DateTime LastExecution { get; set; } = DateTime.UtcNow; public DateTime LastExecution { get; set; } = DateTime.UtcNow;
public TimeSpan Interval { get; set; } = TimeSpan.FromMinutes(60); public TimeSpan Interval { get; set; } = interval??TimeSpan.FromMinutes(60);
protected override BaseWorker[] DoWorkInternal() protected override BaseWorker[] DoWorkInternal()
{ {
foreach (Chapter mangaChapter in manga.Chapters) foreach (Chapter mangaChapter in manga.Chapters)

View File

@ -3,11 +3,11 @@ using API.Schema.NotificationsContext.NotificationConnectors;
namespace API.Workers; namespace API.Workers;
public class SendNotificationsWorker(IEnumerable<BaseWorker>? dependsOn = null) public class SendNotificationsWorker(TimeSpan? interval = null, IEnumerable<BaseWorker>? dependsOn = null)
: BaseWorkerWithContext<NotificationsContext>(dependsOn), IPeriodic : BaseWorkerWithContext<NotificationsContext>(dependsOn), IPeriodic
{ {
public DateTime LastExecution { get; set; } = DateTime.UtcNow; public DateTime LastExecution { get; set; } = DateTime.UtcNow;
public TimeSpan Interval { get; set; } = TimeSpan.FromMinutes(1); public TimeSpan Interval { get; set; } = interval??TimeSpan.FromMinutes(1);
protected override BaseWorker[] DoWorkInternal() protected override BaseWorker[] DoWorkInternal()
{ {
NotificationConnector[] connectors = DbContext.NotificationConnectors.ToArray(); NotificationConnector[] connectors = DbContext.NotificationConnectors.ToArray();