Skip to content

Upgrade TickerQ packages to 10.2.0 and add helper to #25091

Merged
EngincanV merged 6 commits into
devfrom
upgrade-tickerq-10.2.0
Mar 16, 2026
Merged

Upgrade TickerQ packages to 10.2.0 and add helper to #25091
EngincanV merged 6 commits into
devfrom
upgrade-tickerq-10.2.0

Conversation

@maliming

@maliming maliming commented Mar 16, 2026

Copy link
Copy Markdown
Member

Upgrades all TickerQ-related NuGet packages from 10.1.1 to 10.2.0.

TickerQ 10.2.0 adds per-function concurrency control via a new maxConcurrency parameter, changing the function registration tuple from 3 to 4 elements. This PR follows that change and also adds:

  • AddFunction helper method on AbpTickerQFunctionProvider with input validation and duplicate-registration guard, as a cleaner alternative to Functions.TryAdd.
  • MaxConcurrency property on AbpBackgroundJobsTimeTickerConfiguration and AbpBackgroundWorkersCronTickerConfiguration.
  • Updated all internal call sites and documentation samples.

Copilot AI review requested due to automatic review settings March 16, 2026 01:44
@maliming maliming added the dependency-change Indicates a version change of a dependency (typically, upgrade) label Mar 16, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Upgrades TickerQ NuGet dependencies to 10.2.0 and updates ABP’s TickerQ integration to support the new per-function maxConcurrency parameter during function registration.

Changes:

  • Bumped TickerQ* package versions to 10.2.0 and recorded the upgrade in version-change docs.
  • Updated function-registration tuple shape to include maxConcurrency and propagated it through background job/worker integrations.
  • Added MaxConcurrency configuration knobs for background jobs (time ticker) and background workers (cron ticker), plus updated documentation samples.

Reviewed changes

Copilot reviewed 10 out of 10 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
modules/background-jobs/app/Volo.Abp.BackgroundJobs.DemoApp.TickerQ/DemoAppTickerQModule.cs Demo app registration updated to pass maxConcurrency (default 0).
framework/src/Volo.Abp.TickerQ/Volo/Abp/TickerQ/AbpTickerQFunctionProvider.cs Function dictionary tuple updated to include int maxConcurrency.
framework/src/Volo.Abp.BackgroundWorkers.TickerQ/Volo/Abp/BackgroundWorkers/TickerQ/AbpTickerQBackgroundWorkerManager.cs Background worker function registration now passes configured MaxConcurrency.
framework/src/Volo.Abp.BackgroundWorkers.TickerQ/Volo/Abp/BackgroundWorkers/TickerQ/AbpBackgroundWorkersCronTickerConfiguration.cs Added MaxConcurrency option for cron worker functions.
framework/src/Volo.Abp.BackgroundJobs.TickerQ/Volo/Abp/BackgroundJobs/TickerQ/AbpBackgroundJobsTimeTickerConfiguration.cs Added MaxConcurrency option for background job functions.
framework/src/Volo.Abp.BackgroundJobs.TickerQ/Volo/Abp/BackgroundJobs/TickerQ/AbpBackgroundJobsTickerQModule.cs Job function registration updated to include configured MaxConcurrency.
docs/en/package-version-changes.md Documented TickerQ package version bumps.
docs/en/framework/infrastructure/background-workers/tickerq.md Updated code samples to include maxConcurrency argument.
docs/en/framework/infrastructure/background-jobs/tickerq.md Updated code samples to include maxConcurrency argument.
Directory.Packages.props Updated TickerQ package versions to 10.2.0.

Comment thread framework/src/Volo.Abp.TickerQ/Volo/Abp/TickerQ/AbpTickerQFunctionProvider.cs Outdated
Comment thread framework/src/Volo.Abp.TickerQ/Volo/Abp/TickerQ/AbpTickerQFunctionProvider.cs Outdated
Comment thread framework/src/Volo.Abp.TickerQ/Volo/Abp/TickerQ/AbpTickerQFunctionProvider.cs Outdated
@maliming maliming changed the title Upgrade TickerQ packages to 10.2.0 Upgrade TickerQ packages to 10.2.0 and add helper to Mar 16, 2026

@maliming maliming left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All three review comments have been addressed:

  1. Added AddFunction helper method to AbpTickerQFunctionProvider to avoid breaking public API changes — callers no longer need to interact with the internal tuple structure directly.
  2. Fixed { get;} formatting to { get; }.
  3. Added named tuple fields: CronExpression, Priority, Function, MaxConcurrency.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates ABP’s TickerQ integration to align with TickerQ 10.2.0 (notably the new per-function maxConcurrency registration element) and refreshes internal usage + docs accordingly.

Changes:

  • Upgraded TickerQ-related NuGet packages from 10.1.1 to 10.2.0.
  • Introduced AbpTickerQFunctionProvider.AddFunction(...) and updated internal call sites/docs to use it.
  • Added MaxConcurrency to TickerQ configuration objects for background jobs/workers.

Reviewed changes

Copilot reviewed 10 out of 10 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
modules/background-jobs/app/Volo.Abp.BackgroundJobs.DemoApp.TickerQ/DemoAppTickerQModule.cs Switches demo function registration to AddFunction.
framework/src/Volo.Abp.TickerQ/Volo/Abp/TickerQ/AbpTickerQFunctionProvider.cs Changes function tuple shape and adds AddFunction helper.
framework/src/Volo.Abp.BackgroundWorkers.TickerQ/Volo/Abp/BackgroundWorkers/TickerQ/AbpTickerQBackgroundWorkerManager.cs Registers background worker functions via AddFunction, passing configured MaxConcurrency.
framework/src/Volo.Abp.BackgroundWorkers.TickerQ/Volo/Abp/BackgroundWorkers/TickerQ/AbpBackgroundWorkersCronTickerConfiguration.cs Adds MaxConcurrency option for workers.
framework/src/Volo.Abp.BackgroundJobs.TickerQ/Volo/Abp/BackgroundJobs/TickerQ/AbpBackgroundJobsTimeTickerConfiguration.cs Adds MaxConcurrency option for jobs.
framework/src/Volo.Abp.BackgroundJobs.TickerQ/Volo/Abp/BackgroundJobs/TickerQ/AbpBackgroundJobsTickerQModule.cs Registers jobs via AddFunction, passing configured MaxConcurrency.
docs/en/package-version-changes.md Documents the TickerQ package bump.
docs/en/framework/infrastructure/background-workers/tickerq.md Updates samples to use AddFunction.
docs/en/framework/infrastructure/background-jobs/tickerq.md Updates samples to use AddFunction.
Directory.Packages.props Bumps TickerQ package versions to 10.2.0.

@maliming maliming requested a review from EngincanV March 16, 2026 02:22
@codecov

codecov Bot commented Mar 16, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 50.64%. Comparing base (08c6521) to head (5eaffd2).
⚠️ Report is 20 commits behind head on dev.

Additional details and impacted files
@@           Coverage Diff           @@
##              dev   #25091   +/-   ##
=======================================
  Coverage   50.64%   50.64%           
=======================================
  Files        3465     3465           
  Lines      116732   116732           
  Branches     8819     8819           
=======================================
  Hits        59116    59116           
  Misses      55817    55817           
  Partials     1799     1799           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@EngincanV EngincanV merged commit bc4bc6f into dev Mar 16, 2026
6 checks passed
@EngincanV EngincanV deleted the upgrade-tickerq-10.2.0 branch March 16, 2026 17:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependency-change Indicates a version change of a dependency (typically, upgrade)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants