Browse Source

Disable background workers in data migration environments

pull/23400/head
maliming 8 months ago
parent
commit
3bf6cbfece
No known key found for this signature in database GPG Key ID: A646B9CB645ECEA4
  1. 1
      framework/src/Volo.Abp.BackgroundWorkers/Volo.Abp.BackgroundWorkers.csproj
  2. 21
      framework/src/Volo.Abp.BackgroundWorkers/Volo/Abp/BackgroundWorkers/AbpBackgroundWorkersModule.cs

1
framework/src/Volo.Abp.BackgroundWorkers/Volo.Abp.BackgroundWorkers.csproj

@ -17,6 +17,7 @@
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\Volo.Abp.Data\Volo.Abp.Data.csproj" />
<ProjectReference Include="..\Volo.Abp.Threading\Volo.Abp.Threading.csproj" />
</ItemGroup>

21
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<AbpBackgroundWorkerOptions>(options =>
{
options.IsEnabled = false;
});
}
}
public override async Task OnApplicationInitializationAsync(ApplicationInitializationContext context)
{
var options = context.ServiceProvider.GetRequiredService<IOptions<AbpBackgroundWorkerOptions>>().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<IOptions<AbpBackgroundWorkerOptions>>().Value;
if (options.IsEnabled)

Loading…
Cancel
Save