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)) {