Browse Source
Add priority support to TickerQ job configuration
pull/23802/head
maliming
12 months ago
No known key found for this signature in database
GPG Key ID: A646B9CB645ECEA4
2 changed files with
7 additions and
1 deletions
-
framework/src/Volo.Abp.BackgroundJobs.TickerQ/Volo/Abp/BackgroundJobs/TickerQ/AbpBackgroundJobsTickerQModule.cs
-
framework/src/Volo.Abp.BackgroundJobs.TickerQ/Volo/Abp/BackgroundJobs/TickerQ/AbpBackgroundJobsTimeTickerConfiguration.cs
|
|
|
@ -19,13 +19,15 @@ public class AbpBackgroundJobsTickerQModule : AbpModule |
|
|
|
public override void OnApplicationInitialization(ApplicationInitializationContext context) |
|
|
|
{ |
|
|
|
var abpBackgroundJobOptions = context.ServiceProvider.GetRequiredService<IOptions<AbpBackgroundJobOptions>>(); |
|
|
|
var abpBackgroundJobsTickerQOptions = context.ServiceProvider.GetRequiredService<IOptions<AbpBackgroundJobsTickerQOptions>>(); |
|
|
|
var tickerFunctionDelegates = new Dictionary<string, (string, TickerTaskPriority, TickerFunctionDelegate)>(); |
|
|
|
var requestTypes = new Dictionary<string, (string, Type)>(); |
|
|
|
foreach (var jobConfiguration in abpBackgroundJobOptions.Value.GetJobs()) |
|
|
|
{ |
|
|
|
var genericMethod = GetTickerFunctionDelegateMethod.MakeGenericMethod(jobConfiguration.ArgsType); |
|
|
|
var tickerFunctionDelegate = (TickerFunctionDelegate)genericMethod.Invoke(null, [jobConfiguration.ArgsType])!; |
|
|
|
tickerFunctionDelegates.TryAdd(jobConfiguration.JobName, (string.Empty, TickerTaskPriority.Normal, tickerFunctionDelegate)); |
|
|
|
var config = abpBackgroundJobsTickerQOptions.Value.GetJobConfigurationOrNull(jobConfiguration.JobType); |
|
|
|
tickerFunctionDelegates.TryAdd(jobConfiguration.JobName, (string.Empty, config?.Priority ?? TickerTaskPriority.Normal, tickerFunctionDelegate)); |
|
|
|
requestTypes.TryAdd(jobConfiguration.JobName, (jobConfiguration.ArgsType.FullName, jobConfiguration.ArgsType)!); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@ -1,3 +1,5 @@ |
|
|
|
using TickerQ.Utilities.Enums; |
|
|
|
|
|
|
|
namespace Volo.Abp.BackgroundJobs.TickerQ; |
|
|
|
|
|
|
|
public class AbpBackgroundJobsTimeTickerConfiguration |
|
|
|
@ -5,4 +7,6 @@ public class AbpBackgroundJobsTimeTickerConfiguration |
|
|
|
public int? Retries { get; set; } |
|
|
|
|
|
|
|
public int[]? RetryIntervals { get; set; } |
|
|
|
|
|
|
|
public TickerTaskPriority? Priority { get; set; } |
|
|
|
} |
|
|
|
|