From 5eaffd2bf28400fd1e0ee2e2911a91b74a63c81e Mon Sep 17 00:00:00 2001 From: maliming Date: Mon, 16 Mar 2026 10:20:29 +0800 Subject: [PATCH] Simplify AbpTickerQFunctionProvider and add input validation to AddFunction --- .../Volo/Abp/TickerQ/AbpTickerQFunctionProvider.cs | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/framework/src/Volo.Abp.TickerQ/Volo/Abp/TickerQ/AbpTickerQFunctionProvider.cs b/framework/src/Volo.Abp.TickerQ/Volo/Abp/TickerQ/AbpTickerQFunctionProvider.cs index ebac97c8c7..b6b05e7787 100644 --- a/framework/src/Volo.Abp.TickerQ/Volo/Abp/TickerQ/AbpTickerQFunctionProvider.cs +++ b/framework/src/Volo.Abp.TickerQ/Volo/Abp/TickerQ/AbpTickerQFunctionProvider.cs @@ -24,6 +24,17 @@ public class AbpTickerQFunctionProvider : ISingletonDependency TickerTaskPriority priority = TickerTaskPriority.Normal, int maxConcurrency = 0) { - Functions.TryAdd(name, (string.Empty, priority, function, maxConcurrency)); + Check.NotNullOrWhiteSpace(name, nameof(name)); + Check.NotNull(function, nameof(function)); + + if (maxConcurrency < 0) + { + throw new ArgumentException("maxConcurrency must be greater than or equal to 0.", nameof(maxConcurrency)); + } + + if (!Functions.TryAdd(name, (string.Empty, priority, function, maxConcurrency))) + { + throw new AbpException($"A function with the name '{name}' is already registered."); + } } }