From 3840a423af3a2ac319c746d1c1bcaf749fbc587d Mon Sep 17 00:00:00 2001 From: maliming Date: Tue, 1 Dec 2020 13:34:20 +0800 Subject: [PATCH] Make HangfireJobExecutionAdapter async. --- .../Hangfire/HangfireBackgroundJobManager.cs | 27 +++++++------------ .../Hangfire/HangfireJobExecutionAdapter.cs | 12 ++++----- 2 files changed, 14 insertions(+), 25 deletions(-) diff --git a/framework/src/Volo.Abp.BackgroundJobs.HangFire/Volo/Abp/BackgroundJobs/Hangfire/HangfireBackgroundJobManager.cs b/framework/src/Volo.Abp.BackgroundJobs.HangFire/Volo/Abp/BackgroundJobs/Hangfire/HangfireBackgroundJobManager.cs index 8b6c6f89f73..2aceb52c495 100644 --- a/framework/src/Volo.Abp.BackgroundJobs.HangFire/Volo/Abp/BackgroundJobs/Hangfire/HangfireBackgroundJobManager.cs +++ b/framework/src/Volo.Abp.BackgroundJobs.HangFire/Volo/Abp/BackgroundJobs/Hangfire/HangfireBackgroundJobManager.cs @@ -11,23 +11,14 @@ public class HangfireBackgroundJobManager : IBackgroundJobManager, ITransientDep public virtual Task EnqueueAsync(TArgs args, BackgroundJobPriority priority = BackgroundJobPriority.Normal, TimeSpan? delay = null) { - if (!delay.HasValue) - { - return Task.FromResult( - BackgroundJob.Enqueue>( - adapter => adapter.Execute(args) - ) - ); - } - else - { - return Task.FromResult( - BackgroundJob.Schedule>( - adapter => adapter.Execute(args), - delay.Value - ) - ); - } + return Task.FromResult(delay.HasValue + ? BackgroundJob.Schedule>( + adapter => adapter.ExecuteAsync(args), + delay.Value + ) + : BackgroundJob.Enqueue>( + adapter => adapter.ExecuteAsync(args) + )); } } -} \ No newline at end of file +} diff --git a/framework/src/Volo.Abp.BackgroundJobs.HangFire/Volo/Abp/BackgroundJobs/Hangfire/HangfireJobExecutionAdapter.cs b/framework/src/Volo.Abp.BackgroundJobs.HangFire/Volo/Abp/BackgroundJobs/Hangfire/HangfireJobExecutionAdapter.cs index 9c0acf98d93..cd596a38231 100644 --- a/framework/src/Volo.Abp.BackgroundJobs.HangFire/Volo/Abp/BackgroundJobs/Hangfire/HangfireJobExecutionAdapter.cs +++ b/framework/src/Volo.Abp.BackgroundJobs.HangFire/Volo/Abp/BackgroundJobs/Hangfire/HangfireJobExecutionAdapter.cs @@ -1,8 +1,6 @@ -using Microsoft.Extensions.DependencyInjection; -using Microsoft.Extensions.Logging; -using Microsoft.Extensions.Logging.Abstractions; +using System.Threading.Tasks; +using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Options; -using Volo.Abp.Threading; namespace Volo.Abp.BackgroundJobs.Hangfire { @@ -22,7 +20,7 @@ public HangfireJobExecutionAdapter( Options = options.Value; } - public void Execute(TArgs args) + public async Task ExecuteAsync(TArgs args) { if (!Options.IsJobExecutionEnabled) { @@ -39,8 +37,8 @@ public void Execute(TArgs args) { var jobType = Options.GetJob(typeof(TArgs)).JobType; var context = new JobExecutionContext(scope.ServiceProvider, jobType, args); - AsyncHelper.RunSync(() => JobExecuter.ExecuteAsync(context)); + await JobExecuter.ExecuteAsync(context); } } } -} \ No newline at end of file +}