diff --git a/Wabbajack.BuildServer/BackendServices/ABackendService.cs b/Wabbajack.BuildServer/BackendServices/ABackendService.cs index 6b451552..c72eff95 100644 --- a/Wabbajack.BuildServer/BackendServices/ABackendService.cs +++ b/Wabbajack.BuildServer/BackendServices/ABackendService.cs @@ -19,6 +19,7 @@ namespace Wabbajack.BuildServer.BackendServices public async Task RunLoop(CancellationToken token) { + Utils.Log($"Starting loop for {GetType()}"); while (!token.IsCancellationRequested) { try @@ -27,7 +28,7 @@ namespace Wabbajack.BuildServer.BackendServices } catch (Exception ex) { - Utils.Log($"Error executing {this}"); + Utils.Log($"Error executing {GetType()}"); Utils.Log(ex.ToString()); } diff --git a/Wabbajack.BuildServer/BackendServices/ValidateNonNexusArchives.cs b/Wabbajack.BuildServer/BackendServices/ValidateNonNexusArchives.cs index 71123770..4d79c299 100644 --- a/Wabbajack.BuildServer/BackendServices/ValidateNonNexusArchives.cs +++ b/Wabbajack.BuildServer/BackendServices/ValidateNonNexusArchives.cs @@ -1,7 +1,9 @@ using System; +using System.Linq; using System.Threading.Tasks; using Wabbajack.BuildServer.Model.Models; using Wabbajack.Common; +using Wabbajack.Lib.Downloaders; namespace Wabbajack.BuildServer.BackendServices { @@ -13,8 +15,11 @@ namespace Wabbajack.BuildServer.BackendServices public override async Task Execute() { + Utils.Log("Updating Non Nexus archives"); var archives = await Sql.GetNonNexusModlistArchives(); + Utils.Log($"Validating {archives.Count} Non-Nexus archives."); using var queue = new WorkQueue(); + await DownloadDispatcher.PrepareAll(archives.Select(a => a.State)); var results = await archives.PMap(queue, async archive => { try @@ -22,8 +27,9 @@ namespace Wabbajack.BuildServer.BackendServices var isValid = await archive.State.Verify(archive); return (Archive: archive, IsValid: isValid); } - catch (Exception) + catch (Exception ex) { + Utils.Log($"Got Validation error {ex}"); return (Archive: archive, IsValid: false); } diff --git a/Wabbajack.BuildServer/JobManager.cs b/Wabbajack.BuildServer/JobManager.cs index 8c6a5266..c3166352 100644 --- a/Wabbajack.BuildServer/JobManager.cs +++ b/Wabbajack.BuildServer/JobManager.cs @@ -78,8 +78,10 @@ namespace Wabbajack.BuildServer Utils.LogMessages.OfType().Subscribe(u => u.Cancel()); if (!Settings.JobScheduler) return; + var token = new CancellationTokenSource(); var task = RunNexusCacheLoop(); - var listIngest = (new ListIngest(Sql, Settings)).RunLoop(CancellationToken.None); + var listIngest = (new ListIngest(Sql, Settings)).RunLoop(token.Token); + var nonNexus = (new ValidateNonNexusArchives(Sql, Settings)).RunLoop(token.Token); while (true) {