diff --git a/aspnet-core/modules/task-management/LINGYUN.Abp.BackgroundTasks.Abstractions/LINGYUN/Abp/BackgroundTasks/DefaultJobLockProvider.cs b/aspnet-core/modules/task-management/LINGYUN.Abp.BackgroundTasks.Abstractions/LINGYUN/Abp/BackgroundTasks/DefaultJobLockProvider.cs index 622c0e1f8..db2657fe9 100644 --- a/aspnet-core/modules/task-management/LINGYUN.Abp.BackgroundTasks.Abstractions/LINGYUN/Abp/BackgroundTasks/DefaultJobLockProvider.cs +++ b/aspnet-core/modules/task-management/LINGYUN.Abp.BackgroundTasks.Abstractions/LINGYUN/Abp/BackgroundTasks/DefaultJobLockProvider.cs @@ -12,7 +12,7 @@ public class DefaultJobLockProvider : IJobLockProvider, ISingletonDependency { private readonly ConcurrentDictionary _localSyncObjects = new(); - public virtual Task TryLockAsync(string jobKey, int lockSeconds, CancellationToken cancellationToken = default) + public virtual Task TryLockAsync(string jobKey, int lockSeconds) { Check.NotNullOrWhiteSpace(jobKey, nameof(jobKey)); if (_localSyncObjects.TryGetValue(jobKey, out var jobLock)) @@ -34,7 +34,7 @@ public class DefaultJobLockProvider : IJobLockProvider, ISingletonDependency return Task.FromResult(_localSyncObjects.TryAdd(jobKey, jobLock)); } - public Task TryReleaseAsync(string jobKey, CancellationToken cancellationToken = default) + public Task TryReleaseAsync(string jobKey) { Check.NotNullOrWhiteSpace(jobKey, nameof(jobKey)); diff --git a/aspnet-core/modules/task-management/LINGYUN.Abp.BackgroundTasks.Abstractions/LINGYUN/Abp/BackgroundTasks/IJobLockProvider.cs b/aspnet-core/modules/task-management/LINGYUN.Abp.BackgroundTasks.Abstractions/LINGYUN/Abp/BackgroundTasks/IJobLockProvider.cs index 0d5979633..080580dda 100644 --- a/aspnet-core/modules/task-management/LINGYUN.Abp.BackgroundTasks.Abstractions/LINGYUN/Abp/BackgroundTasks/IJobLockProvider.cs +++ b/aspnet-core/modules/task-management/LINGYUN.Abp.BackgroundTasks.Abstractions/LINGYUN/Abp/BackgroundTasks/IJobLockProvider.cs @@ -1,5 +1,4 @@ -using System.Threading; -using System.Threading.Tasks; +using System.Threading.Tasks; namespace LINGYUN.Abp.BackgroundTasks; @@ -10,10 +9,8 @@ public interface IJobLockProvider { Task TryLockAsync( string jobKey, - int lockSeconds, - CancellationToken cancellationToken = default); + int lockSeconds); Task TryReleaseAsync( - string jobKey, - CancellationToken cancellationToken = default); + string jobKey); } diff --git a/aspnet-core/modules/task-management/LINGYUN.Abp.BackgroundTasks.Quartz/LINGYUN/Abp/BackgroundTasks/Quartz/QuartzJobListener.cs b/aspnet-core/modules/task-management/LINGYUN.Abp.BackgroundTasks.Quartz/LINGYUN/Abp/BackgroundTasks/Quartz/QuartzJobListener.cs index 91205812e..913ddee7c 100644 --- a/aspnet-core/modules/task-management/LINGYUN.Abp.BackgroundTasks.Quartz/LINGYUN/Abp/BackgroundTasks/Quartz/QuartzJobListener.cs +++ b/aspnet-core/modules/task-management/LINGYUN.Abp.BackgroundTasks.Quartz/LINGYUN/Abp/BackgroundTasks/Quartz/QuartzJobListener.cs @@ -38,7 +38,7 @@ public class QuartzJobListener : JobListenerSupport, ISingletonDependency { jobType = jobType.GetGenericArguments()[0]; } - Logger.LogInformation($"The task {jobType.Name} could not be performed..."); + Logger.LogWarning($"The task {jobType.Name} could not be performed..."); return Task.FromResult(-1); } diff --git a/aspnet-core/modules/task-management/LINGYUN.Abp.BackgroundTasks.Quartz/LINGYUN/Abp/BackgroundTasks/Quartz/QuartzTriggerListener.cs b/aspnet-core/modules/task-management/LINGYUN.Abp.BackgroundTasks.Quartz/LINGYUN/Abp/BackgroundTasks/Quartz/QuartzTriggerListener.cs index 6b4182979..8bd37d8d7 100644 --- a/aspnet-core/modules/task-management/LINGYUN.Abp.BackgroundTasks.Quartz/LINGYUN/Abp/BackgroundTasks/Quartz/QuartzTriggerListener.cs +++ b/aspnet-core/modules/task-management/LINGYUN.Abp.BackgroundTasks.Quartz/LINGYUN/Abp/BackgroundTasks/Quartz/QuartzTriggerListener.cs @@ -27,10 +27,10 @@ public class QuartzTriggerListener : TriggerListenerSupport, ISingletonDependenc { context.MergedJobDataMap.TryGetValue(nameof(JobInfo.Id), out var jobId); context.MergedJobDataMap.TryGetValue(nameof(JobInfo.LockTimeOut), out var lockTime); - if (jobId != null && lockTime != null && lockTime is int time && time > 0) + if (jobId != null && lockTime != null && int.TryParse(lockTime.ToString(), out var time) && time > 0) { - - return !await JobLockProvider.TryLockAsync(NormalizeKey(context, jobId), time, cancellationToken); + // 传递令牌将清除本次锁, 那并无意义 + return !await JobLockProvider.TryLockAsync(NormalizeKey(context, jobId), time); } return false; @@ -45,7 +45,7 @@ public class QuartzTriggerListener : TriggerListenerSupport, ISingletonDependenc if (context.MergedJobDataMap.TryGetValue(nameof(JobInfo.Id), out var jobId) && context.MergedJobDataMap.ContainsKey(nameof(JobInfo.LockTimeOut))) { - await JobLockProvider.TryReleaseAsync(NormalizeKey(context, jobId), cancellationToken); + await JobLockProvider.TryReleaseAsync(NormalizeKey(context, jobId)); } } diff --git a/aspnet-core/modules/task-management/LINGYUN.Abp.BackgroundTasks/LINGYUN/Abp/BackgroundTasks/JobLockProvider.cs b/aspnet-core/modules/task-management/LINGYUN.Abp.BackgroundTasks/LINGYUN/Abp/BackgroundTasks/JobLockProvider.cs index 85f286de8..6f03ab576 100644 --- a/aspnet-core/modules/task-management/LINGYUN.Abp.BackgroundTasks/LINGYUN/Abp/BackgroundTasks/JobLockProvider.cs +++ b/aspnet-core/modules/task-management/LINGYUN.Abp.BackgroundTasks/LINGYUN/Abp/BackgroundTasks/JobLockProvider.cs @@ -1,6 +1,5 @@ using Microsoft.Extensions.Caching.Memory; using System; -using System.Threading; using System.Threading.Tasks; using Volo.Abp.DependencyInjection; using Volo.Abp.DistributedLocking; @@ -21,9 +20,9 @@ public class JobLockProvider : IJobLockProvider, ISingletonDependency DistributedLock = distributedLock; } - public virtual async Task TryLockAsync(string jobKey, int lockSeconds, CancellationToken cancellationToken = default) + public virtual async Task TryLockAsync(string jobKey, int lockSeconds) { - var handle = await DistributedLock.TryAcquireAsync(jobKey, cancellationToken: cancellationToken); + var handle = await DistributedLock.TryAcquireAsync(jobKey); if (handle != null) { await LockCache.GetOrCreateAsync(jobKey, (entry) => @@ -46,7 +45,7 @@ public class JobLockProvider : IJobLockProvider, ISingletonDependency return false; } - public virtual async Task TryReleaseAsync(string jobKey, CancellationToken cancellationToken = default) + public virtual async Task TryReleaseAsync(string jobKey) { if (LockCache.TryGetValue(jobKey, out var handle)) {