From 75a8078f065aee82b443bd364d93ccf42b37603f Mon Sep 17 00:00:00 2001 From: Ben Date: Tue, 10 Jun 2025 12:48:23 +0200 Subject: [PATCH] catches purchase-not-found exception # Conflicts: # Tools/AutoClient/LoadBalancer.cs --- Tools/AutoClient/LoadBalancer.cs | 3 ++- Tools/AutoClient/Modes/FolderStore/FileSaver.cs | 10 +++++++++- Tools/AutoClient/Modes/FolderStore/FolderSaver.cs | 1 + 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/Tools/AutoClient/LoadBalancer.cs b/Tools/AutoClient/LoadBalancer.cs index 1446c5c4..e5d42cda 100644 --- a/Tools/AutoClient/LoadBalancer.cs +++ b/Tools/AutoClient/LoadBalancer.cs @@ -65,7 +65,8 @@ namespace AutoClient { while (running) { - while (queue.Count == 0) Thread.Sleep(TimeSpan.FromSeconds(1.0)); + while (running && queue.Count == 0) Thread.Sleep(TimeSpan.FromSeconds(1.0)); + if (!running) return; Action action = w => { }; lock (queueLock) diff --git a/Tools/AutoClient/Modes/FolderStore/FileSaver.cs b/Tools/AutoClient/Modes/FolderStore/FileSaver.cs index ca524245..cfef81de 100644 --- a/Tools/AutoClient/Modes/FolderStore/FileSaver.cs +++ b/Tools/AutoClient/Modes/FolderStore/FileSaver.cs @@ -163,7 +163,15 @@ namespace AutoClient.Modes.FolderStore private StoragePurchase? GetPurchase(string purchaseId) { - return instance.GetStoragePurchase(purchaseId); + try + { + return instance.GetStoragePurchase(purchaseId); + } + catch (Exception exc) + { + log.Error("Failed to get purchase: " + exc); + return null; + } } private bool NodeContainsBasicCid() diff --git a/Tools/AutoClient/Modes/FolderStore/FolderSaver.cs b/Tools/AutoClient/Modes/FolderStore/FolderSaver.cs index a2713931..edf695c4 100644 --- a/Tools/AutoClient/Modes/FolderStore/FolderSaver.cs +++ b/Tools/AutoClient/Modes/FolderStore/FolderSaver.cs @@ -40,6 +40,7 @@ namespace AutoClient.Modes.FolderStore { if (app.Cts.IsCancellationRequested) return; loadBalancer.CheckErrors(); + slowModeHandler.Check(); if (!folderFile.ToLowerInvariant().EndsWith(FolderSaverFilename)) {