From 3bf6cbfecee613d837bf9ba8a85c9804822d3fde Mon Sep 17 00:00:00 2001 From: maliming Date: Mon, 28 Jul 2025 13:32:41 +0800 Subject: [PATCH] Disable background workers in data migration environments --- .../Volo.Abp.BackgroundWorkers.csproj | 1 + .../AbpBackgroundWorkersModule.cs | 21 +++++++++++++++---- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/framework/src/Volo.Abp.BackgroundWorkers/Volo.Abp.BackgroundWorkers.csproj b/framework/src/Volo.Abp.BackgroundWorkers/Volo.Abp.BackgroundWorkers.csproj index f55568c37b..62924f5aa7 100644 --- a/framework/src/Volo.Abp.BackgroundWorkers/Volo.Abp.BackgroundWorkers.csproj +++ b/framework/src/Volo.Abp.BackgroundWorkers/Volo.Abp.BackgroundWorkers.csproj @@ -17,6 +17,7 @@ + diff --git a/framework/src/Volo.Abp.BackgroundWorkers/Volo/Abp/BackgroundWorkers/AbpBackgroundWorkersModule.cs b/framework/src/Volo.Abp.BackgroundWorkers/Volo/Abp/BackgroundWorkers/AbpBackgroundWorkersModule.cs index 12e24c8f81..367b0716a8 100644 --- a/framework/src/Volo.Abp.BackgroundWorkers/Volo/Abp/BackgroundWorkers/AbpBackgroundWorkersModule.cs +++ b/framework/src/Volo.Abp.BackgroundWorkers/Volo/Abp/BackgroundWorkers/AbpBackgroundWorkersModule.cs @@ -1,17 +1,30 @@ using System.Threading.Tasks; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Options; +using Volo.Abp.Data; using Volo.Abp.Modularity; using Volo.Abp.Threading; namespace Volo.Abp.BackgroundWorkers; [DependsOn( - typeof(AbpThreadingModule) - )] + typeof(AbpThreadingModule), + typeof(AbpDataModule) +)] public class AbpBackgroundWorkersModule : AbpModule { - public async override Task OnApplicationInitializationAsync(ApplicationInitializationContext context) + public override void ConfigureServices(ServiceConfigurationContext context) + { + if (context.Services.IsDataMigrationEnvironment()) + { + Configure(options => + { + options.IsEnabled = false; + }); + } + } + + public override async Task OnApplicationInitializationAsync(ApplicationInitializationContext context) { var options = context.ServiceProvider.GetRequiredService>().Value; if (options.IsEnabled) @@ -22,7 +35,7 @@ public class AbpBackgroundWorkersModule : AbpModule } } - public async override Task OnApplicationShutdownAsync(ApplicationShutdownContext context) + public override async Task OnApplicationShutdownAsync(ApplicationShutdownContext context) { var options = context.ServiceProvider.GetRequiredService>().Value; if (options.IsEnabled)