From 9892971975021380da5a79611fd060194fd66d1f Mon Sep 17 00:00:00 2001 From: maliming Date: Fri, 3 Jul 2026 15:25:34 +0800 Subject: [PATCH] Delete oldest completed jobs first in the in-memory background job store --- .../BackgroundJobs/InMemoryBackgroundJobStore.cs | 1 + .../BackgroundJobCleanupWorker_Tests.cs | 16 ++++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/framework/src/Volo.Abp.BackgroundJobs/Volo/Abp/BackgroundJobs/InMemoryBackgroundJobStore.cs b/framework/src/Volo.Abp.BackgroundJobs/Volo/Abp/BackgroundJobs/InMemoryBackgroundJobStore.cs index e487891435..d0fa34e7e8 100644 --- a/framework/src/Volo.Abp.BackgroundJobs/Volo/Abp/BackgroundJobs/InMemoryBackgroundJobStore.cs +++ b/framework/src/Volo.Abp.BackgroundJobs/Volo/Abp/BackgroundJobs/InMemoryBackgroundJobStore.cs @@ -78,6 +78,7 @@ public class InMemoryBackgroundJobStore : IBackgroundJobStore, ISingletonDepende var idsToDelete = _jobs.Values .Where(t => t.ApplicationName == applicationName) .Where(t => t.CompletionTime != null && t.CompletionTime < completedBefore) + .OrderBy(t => t.CompletionTime) .Take(maxResultCount) .Select(t => t.Id) .ToList(); diff --git a/framework/test/Volo.Abp.BackgroundJobs.Tests/Volo/Abp/BackgroundJobs/BackgroundJobCleanupWorker_Tests.cs b/framework/test/Volo.Abp.BackgroundJobs.Tests/Volo/Abp/BackgroundJobs/BackgroundJobCleanupWorker_Tests.cs index 770d135cee..a7a638ed7b 100644 --- a/framework/test/Volo.Abp.BackgroundJobs.Tests/Volo/Abp/BackgroundJobs/BackgroundJobCleanupWorker_Tests.cs +++ b/framework/test/Volo.Abp.BackgroundJobs.Tests/Volo/Abp/BackgroundJobs/BackgroundJobCleanupWorker_Tests.cs @@ -117,6 +117,22 @@ public class BackgroundJobCleanupWorker_Tests : AbpIntegratedTest