Using HttpStatusCode to signify Task-Success

When DownloadChapterTask returns notfound, do not retry.
This commit is contained in:
2023-06-20 15:46:54 +02:00
parent 1035939309
commit 9af5c1603e
9 changed files with 93 additions and 80 deletions

View File

@ -1,4 +1,5 @@
using Logging;
using System.Net;
using Logging;
namespace Tranga.TrangaTasks;
@ -19,15 +20,14 @@ public class DownloadChapterTask : TrangaTask
this.language = language;
}
protected override bool ExecuteTask(TaskManager taskManager, Logger? logger, CancellationToken? cancellationToken = null)
protected override HttpStatusCode ExecuteTask(TaskManager taskManager, Logger? logger, CancellationToken? cancellationToken = null)
{
if (cancellationToken?.IsCancellationRequested??false)
return false;
if (cancellationToken?.IsCancellationRequested ?? false)
return HttpStatusCode.RequestTimeout;
Connector connector = taskManager.GetConnector(this.connectorName);
connector.CopyCoverFromCacheToDownloadLocation(this.publication, taskManager.settings);
bool downloadSuccess = connector.DownloadChapter(this.publication, this.chapter, this, cancellationToken);
taskManager.DeleteTask(this);
if(downloadSuccess && parentTask is not null)
HttpStatusCode downloadSuccess = connector.DownloadChapter(this.publication, this.chapter, this, cancellationToken);
if((int)downloadSuccess >= 200 && (int)downloadSuccess < 300 && parentTask is not null)
foreach(NotificationManager nm in taskManager.settings.notificationManagers)
nm.SendNotification("New Chapter downloaded", $"{this.publication.sortName} {this.chapter.chapterNumber} {this.chapter.name}");
return downloadSuccess;

View File

@ -1,4 +1,5 @@
using Logging;
using System.Net;
using Logging;
namespace Tranga.TrangaTasks;
@ -14,10 +15,10 @@ public class MonitorPublicationTask : TrangaTask
this.language = language;
}
protected override bool ExecuteTask(TaskManager taskManager, Logger? logger, CancellationToken? cancellationToken = null)
protected override HttpStatusCode ExecuteTask(TaskManager taskManager, Logger? logger, CancellationToken? cancellationToken = null)
{
if (cancellationToken?.IsCancellationRequested??false)
return false;
if (cancellationToken?.IsCancellationRequested ?? false)
return HttpStatusCode.RequestTimeout;
Connector connector = taskManager.GetConnector(this.connectorName);
//Check if Publication already has a Folder
@ -36,7 +37,7 @@ public class MonitorPublicationTask : TrangaTask
taskManager.AddTask(newTask);
}
return true;
return HttpStatusCode.OK;
}
public override TrangaTask Clone()

View File

@ -1,4 +1,5 @@
using Logging;
using System.Net;
using Logging;
namespace Tranga.TrangaTasks;
@ -8,13 +9,13 @@ public class UpdateLibrariesTask : TrangaTask
{
}
protected override bool ExecuteTask(TaskManager taskManager, Logger? logger, CancellationToken? cancellationToken = null)
protected override HttpStatusCode ExecuteTask(TaskManager taskManager, Logger? logger, CancellationToken? cancellationToken = null)
{
if (cancellationToken?.IsCancellationRequested??false)
return false;
if (cancellationToken?.IsCancellationRequested ?? false)
return HttpStatusCode.RequestTimeout;
foreach(LibraryManager lm in taskManager.settings.libraryManagers)
lm.UpdateLibrary();
return true;
return HttpStatusCode.OK;
}
public override TrangaTask Clone()