Skip to content

feat: add TraxConcurrencyLimitAttribute#29

Merged
Theauxm merged 1 commit intomainfrom
feat/concurrency-limit-attribute
Mar 13, 2026
Merged

feat: add TraxConcurrencyLimitAttribute#29
Theauxm merged 1 commit intomainfrom
feat/concurrency-limit-attribute

Conversation

@Theauxm
Copy link
Copy Markdown
Member

@Theauxm Theauxm commented Mar 13, 2026

Summary

  • New [TraxConcurrencyLimit(int)] attribute for declaring max concurrent RUN executions per train class
  • Validates maxConcurrent >= 1 at construction time
  • Used by Trax.Mediator's ConcurrencyLimiter to gate TrainExecutionService.RunAsync() with SemaphoreSlim-based throttling

Test plan

  • Attribute constructor with positive values sets MaxConcurrent
  • Attribute constructor with zero/negative throws ArgumentOutOfRangeException
  • Tests in Trax.Mediator cover discovery integration and builder override precedence

Related PRs: Trax.Mediator (concurrency limiter service), Trax.Docs (documentation), Trax.Samples (sample usage)

…trol

New attribute for declaring maximum concurrent RUN executions on train classes.
Used by Trax.Mediator's ConcurrencyLimiter to gate TrainExecutionService.RunAsync()
with SemaphoreSlim-based throttling.
@Theauxm Theauxm merged commit cbdb6eb into main Mar 13, 2026
1 check passed
@Theauxm Theauxm deleted the feat/concurrency-limit-attribute branch March 13, 2026 18:37
@traxsharp
Copy link
Copy Markdown

traxsharp Bot commented Mar 13, 2026

This PR is included in version 1.18.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant