From 80decf565685d8f00283711775da69309700fd2b Mon Sep 17 00:00:00 2001 From: CJKmkp <2564608840@qq.com> Date: Thu, 12 Feb 2026 21:52:28 +0800 Subject: [PATCH] =?UTF-8?q?improve:Dlass=E7=AC=94=E8=AE=B0=E4=B8=8A?= =?UTF-8?q?=E4=BC=A0=E6=9C=8D=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Ink Canvas/Helpers/DlassNoteUploader.cs | 47 ++++++++++++++++++++++--- 1 file changed, 42 insertions(+), 5 deletions(-) diff --git a/Ink Canvas/Helpers/DlassNoteUploader.cs b/Ink Canvas/Helpers/DlassNoteUploader.cs index f5e48ef4..ac0dba58 100644 --- a/Ink Canvas/Helpers/DlassNoteUploader.cs +++ b/Ink Canvas/Helpers/DlassNoteUploader.cs @@ -161,7 +161,17 @@ namespace Ink_Canvas.Helpers { LogHelper.WriteLogToFile($"已恢复上传队列:{restoredCount}个文件,跳过{skippedCount}个无效文件", LogHelper.LogType.Event); // 如果恢复了队列,触发处理 - _ = ProcessUploadQueueAsync(); + _ = Task.Run(async () => + { + try + { + await ProcessUploadQueueAsync().ConfigureAwait(false); + } + catch (Exception ex) + { + LogHelper.WriteLogToFile($"恢复上传队列后处理时出错: {ex}", LogHelper.LogType.Error); + } + }); } else if (skippedCount > 0) { @@ -357,8 +367,15 @@ namespace Ink_Canvas.Helpers { _ = Task.Run(async () => { - await Task.Delay(TimeSpan.FromMinutes(delayMinutes)); - EnqueueFile(filePath); + try + { + await Task.Delay(TimeSpan.FromMinutes(delayMinutes)).ConfigureAwait(false); + EnqueueFile(filePath); + } + catch (Exception ex) + { + LogHelper.WriteLogToFile($"延迟加入上传队列时出错: {ex}", LogHelper.LogType.Error); + } }); } else @@ -387,7 +404,17 @@ namespace Ink_Canvas.Helpers }); // 异步保存队列到文件 - _ = Task.Run(async () => await SaveQueueToFileAsync()); + _ = Task.Run(async () => + { + try + { + await SaveQueueToFileAsync().ConfigureAwait(false); + } + catch (Exception ex) + { + LogHelper.WriteLogToFile($"保存上传队列时出错(后台任务): {ex}", LogHelper.LogType.Error); + } + }); // 如果队列达到批量大小,触发批量上传 if (_uploadQueue.Count >= BATCH_SIZE) @@ -566,7 +593,17 @@ namespace Ink_Canvas.Helpers // 如果队列达到批量大小,继续处理 if (_uploadQueue.Count >= BATCH_SIZE) { - _ = ProcessUploadQueueAsync(); + _ = Task.Run(async () => + { + try + { + await ProcessUploadQueueAsync().ConfigureAwait(false); + } + catch (Exception ex) + { + LogHelper.WriteLogToFile($"继续批量处理上传队列时出错: {ex}", LogHelper.LogType.Error); + } + }); } } finally