From 85b3ddf732123571e7a7cce21a310a4b8ae39d80 Mon Sep 17 00:00:00 2001 From: liangshiwei Date: Mon, 16 Dec 2024 16:12:52 +0800 Subject: [PATCH] Allow to customize the distributed lock key of BackgroundJobWorker --- .../Abp/BackgroundJobs/AbpBackgroundJobWorkerOptions.cs | 7 +++++++ .../Volo/Abp/BackgroundJobs/BackgroundJobWorker.cs | 4 +--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/framework/src/Volo.Abp.BackgroundJobs/Volo/Abp/BackgroundJobs/AbpBackgroundJobWorkerOptions.cs b/framework/src/Volo.Abp.BackgroundJobs/Volo/Abp/BackgroundJobs/AbpBackgroundJobWorkerOptions.cs index 6fc0daca56..3bc31e7a39 100644 --- a/framework/src/Volo.Abp.BackgroundJobs/Volo/Abp/BackgroundJobs/AbpBackgroundJobWorkerOptions.cs +++ b/framework/src/Volo.Abp.BackgroundJobs/Volo/Abp/BackgroundJobs/AbpBackgroundJobWorkerOptions.cs @@ -33,6 +33,12 @@ public class AbpBackgroundJobWorkerOptions /// public double DefaultWaitFactor { get; set; } + /// + /// Distributed lock name for the worker. + /// Default value: "AbpBackgroundJobWorker". + /// + public string DistributedLockName { get; set; } + public AbpBackgroundJobWorkerOptions() { MaxJobFetchCount = 1000; @@ -40,5 +46,6 @@ public class AbpBackgroundJobWorkerOptions DefaultFirstWaitDuration = 60; DefaultTimeout = 172800; DefaultWaitFactor = 2.0; + DistributedLockName = "AbpBackgroundJobWorker"; } } diff --git a/framework/src/Volo.Abp.BackgroundJobs/Volo/Abp/BackgroundJobs/BackgroundJobWorker.cs b/framework/src/Volo.Abp.BackgroundJobs/Volo/Abp/BackgroundJobs/BackgroundJobWorker.cs index 4aeaf59885..4313350098 100644 --- a/framework/src/Volo.Abp.BackgroundJobs/Volo/Abp/BackgroundJobs/BackgroundJobWorker.cs +++ b/framework/src/Volo.Abp.BackgroundJobs/Volo/Abp/BackgroundJobs/BackgroundJobWorker.cs @@ -13,8 +13,6 @@ namespace Volo.Abp.BackgroundJobs; public class BackgroundJobWorker : AsyncPeriodicBackgroundWorkerBase, IBackgroundJobWorker { - protected const string DistributedLockName = "AbpBackgroundJobWorker"; - protected AbpBackgroundJobOptions JobOptions { get; } protected AbpBackgroundJobWorkerOptions WorkerOptions { get; } @@ -39,7 +37,7 @@ public class BackgroundJobWorker : AsyncPeriodicBackgroundWorkerBase, IBackgroun protected override async Task DoWorkAsync(PeriodicBackgroundWorkerContext workerContext) { - await using (var handler = await DistributedLock.TryAcquireAsync(DistributedLockName, cancellationToken: StoppingToken)) + await using (var handler = await DistributedLock.TryAcquireAsync(WorkerOptions.DistributedLockName, cancellationToken: StoppingToken)) { if (handler != null) {