mirror of
https://github.com/C9Glax/tranga.git
synced 2025-07-04 18:04:16 +02:00
SendNotificationsWorker, CleanupMangaCoversWorker, UpdateChaptersDownloadedWorker add optional interval parameter
This commit is contained in:
@ -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();
|
||||||
}
|
}
|
||||||
|
@ -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()
|
||||||
{
|
{
|
||||||
|
@ -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)
|
||||||
|
@ -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();
|
||||||
|
Reference in New Issue
Block a user