From 5f8db267d954d318344ae8ae1c5fa4a5180ee29d Mon Sep 17 00:00:00 2001 From: jackfiled Date: Wed, 24 Jan 2024 21:32:14 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E5=A4=84=E7=90=86=E5=99=A8?= =?UTF-8?q?=E9=87=8D=E6=9E=84=E4=B8=BA=E4=BD=BF=E7=94=A8Async?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- YaeBlog.Core/Abstractions/IPostRenderProcessor.cs | 2 +- YaeBlog.Core/Abstractions/IPreRenderProcessor.cs | 2 +- YaeBlog.Core/Services/RendererService.cs | 12 +++++------- 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/YaeBlog.Core/Abstractions/IPostRenderProcessor.cs b/YaeBlog.Core/Abstractions/IPostRenderProcessor.cs index 3af577c..6117742 100644 --- a/YaeBlog.Core/Abstractions/IPostRenderProcessor.cs +++ b/YaeBlog.Core/Abstractions/IPostRenderProcessor.cs @@ -4,7 +4,7 @@ namespace YaeBlog.Core.Abstractions; public interface IPostRenderProcessor { - BlogEssay Process(BlogEssay essay); + Task ProcessAsync(BlogEssay essay); string Name { get; } } diff --git a/YaeBlog.Core/Abstractions/IPreRenderProcessor.cs b/YaeBlog.Core/Abstractions/IPreRenderProcessor.cs index 9762e53..ee3b7f2 100644 --- a/YaeBlog.Core/Abstractions/IPreRenderProcessor.cs +++ b/YaeBlog.Core/Abstractions/IPreRenderProcessor.cs @@ -4,7 +4,7 @@ namespace YaeBlog.Core.Abstractions; public interface IPreRenderProcessor { - BlogContent Process(BlogContent content); + Task ProcessAsync(BlogContent content); string Name { get; } } diff --git a/YaeBlog.Core/Services/RendererService.cs b/YaeBlog.Core/Services/RendererService.cs index 2a463e5..2a7fbf6 100644 --- a/YaeBlog.Core/Services/RendererService.cs +++ b/YaeBlog.Core/Services/RendererService.cs @@ -112,11 +112,11 @@ public class RendererService(ILogger logger, { ConcurrentBag processedContents = []; - Parallel.ForEach(contents, content => + Parallel.ForEachAsync(contents, async (content, _) => { - foreach (IPreRenderProcessor processor in _preRenderProcessors) + foreach (var processor in _preRenderProcessors) { - content = processor.Process(content); + content = await processor.ProcessAsync(content); } processedContents.Add(content); @@ -127,11 +127,11 @@ public class RendererService(ILogger logger, private void PostProcess(IEnumerable essays) { - Parallel.ForEach(essays, essay => + Parallel.ForEachAsync(essays, async (essay, _) => { foreach (IPostRenderProcessor processor in _postRenderProcessors) { - essay = processor.Process(essay); + essay = await processor.ProcessAsync(essay); } if (!essayContentService.TryAdd(essay.FileName, essay)) @@ -139,8 +139,6 @@ public class RendererService(ILogger logger, throw new BlogFileException( $"There are two essays with the same name: '{essay.FileName}'."); } - - logger.LogDebug("Post-Process essay: {}.", essay); }); }