Browse Source

Implement IsJobExecutionEnabled for all background job providers

pull/3382/head
liangshiwei 7 years ago
parent
commit
8b59155d88
  1. 3
      framework/src/Volo.Abp.BackgroundJobs.Abstractions/Volo/Abp/BackgroundJobs/AbpBackgroundJobOptions.cs
  2. 3
      framework/src/Volo.Abp.BackgroundJobs.Abstractions/Volo/Abp/BackgroundJobs/NullBackgroundJobManager.cs
  3. 16
      framework/src/Volo.Abp.BackgroundJobs.HangFire/Volo/Abp/BackgroundJobs/Hangfire/AbpBackgroundJobsHangfireModule.cs
  4. 10
      framework/src/Volo.Abp.BackgroundJobs.Quartz/Volo/Abp/BackgroundJobs/Quartz/AbpBackgroundJobsQuartzModule.cs

3
framework/src/Volo.Abp.BackgroundJobs.Abstractions/Volo/Abp/BackgroundJobs/AbpBackgroundJobOptions.cs

@ -8,8 +8,7 @@ namespace Volo.Abp.BackgroundJobs
{ {
private readonly Dictionary<Type, BackgroundJobConfiguration> _jobConfigurationsByArgsType; private readonly Dictionary<Type, BackgroundJobConfiguration> _jobConfigurationsByArgsType;
private readonly Dictionary<string, BackgroundJobConfiguration> _jobConfigurationsByName; private readonly Dictionary<string, BackgroundJobConfiguration> _jobConfigurationsByName;
//TODO: Implement for all providers! (Hangfire does not implement yet)
/// <summary> /// <summary>
/// Default: true. /// Default: true.
/// </summary> /// </summary>

3
framework/src/Volo.Abp.BackgroundJobs.Abstractions/Volo/Abp/BackgroundJobs/NullBackgroundJobManager.cs

@ -19,7 +19,8 @@ namespace Volo.Abp.BackgroundJobs
public virtual Task<string> EnqueueAsync<TArgs>(TArgs args, BackgroundJobPriority priority = BackgroundJobPriority.Normal, public virtual Task<string> EnqueueAsync<TArgs>(TArgs args, BackgroundJobPriority priority = BackgroundJobPriority.Normal,
TimeSpan? delay = null) TimeSpan? delay = null)
{ {
throw new AbpException("Background job system has not a real implementation. If it's mandatory, use an implementation (either the default provider or a 3rd party implementation). If it's optional, check IBackgroundJobManager.IsAvailable() extension method and act based on it."); //throw new AbpException("Background job system has not a real implementation. If it's mandatory, use an implementation (either the default provider or a 3rd party implementation). If it's optional, check IBackgroundJobManager.IsAvailable() extension method and act based on it.");
return Task.FromResult(string.Empty);
} }
} }
} }

16
framework/src/Volo.Abp.BackgroundJobs.HangFire/Volo/Abp/BackgroundJobs/Hangfire/AbpBackgroundJobsHangfireModule.cs

@ -1,4 +1,5 @@
using Volo.Abp.Hangfire; using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.Hangfire;
using Volo.Abp.Modularity; using Volo.Abp.Modularity;
namespace Volo.Abp.BackgroundJobs.Hangfire namespace Volo.Abp.BackgroundJobs.Hangfire
@ -6,9 +7,16 @@ namespace Volo.Abp.BackgroundJobs.Hangfire
[DependsOn( [DependsOn(
typeof(AbpBackgroundJobsAbstractionsModule), typeof(AbpBackgroundJobsAbstractionsModule),
typeof(AbpHangfireModule) typeof(AbpHangfireModule)
)] )]
public class AbpBackgroundJobsHangfireModule : AbpModule public class AbpBackgroundJobsHangfireModule : AbpModule
{ {
public override void ConfigureServices(ServiceConfigurationContext context)
{
var options = context.Services.ExecutePreConfiguredActions<AbpBackgroundJobOptions>();
if (!options.IsJobExecutionEnabled)
{
context.Services.AddSingleton<IBackgroundJobManager>(x => new NullBackgroundJobManager());
}
}
} }
} }

10
framework/src/Volo.Abp.BackgroundJobs.Quartz/Volo/Abp/BackgroundJobs/Quartz/AbpBackgroundJobsQuartzModule.cs

@ -12,7 +12,15 @@ namespace Volo.Abp.BackgroundJobs.Quartz
{ {
public override void ConfigureServices(ServiceConfigurationContext context) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
context.Services.AddTransient(typeof(QuartzJobExecutionAdapter<>)); var options = context.Services.ExecutePreConfiguredActions<AbpBackgroundJobOptions>();
if (!options.IsJobExecutionEnabled)
{
context.Services.AddSingleton<IBackgroundJobManager>(x => new NullBackgroundJobManager());
}
else
{
context.Services.AddTransient(typeof(QuartzJobExecutionAdapter<>));
}
} }
} }
} }

Loading…
Cancel
Save