Skip to content

Add extensible task scheduler middleware pipeline - #25

Merged
dombrovsky merged 2 commits into
mainfrom
feature/24-middleware-pipeline
Aug 17, 2026
Merged

Add extensible task scheduler middleware pipeline#25
dombrovsky merged 2 commits into
mainfrom
feature/24-middleware-pipeline

Conversation

@dombrovsky

Copy link
Copy Markdown
Owner

Summary

  • introduce an immutable enqueue, execution, and completion middleware pipeline over existing ITaskScheduler implementations
  • add forward-scoped annotations, separate caller and producer cancellation, and per-registration operation-local state
  • migrate interception, error handling, timeout, throttling, cancellation, and Microsoft logging extensions to middleware
  • preserve terminal scheduler ownership and compatibility while documenting ordering, failure, cancellation, and wrapper-boundary semantics
  • add focused pipeline and migrated-extension coverage across supported execution models

Why

TaskFlow decorators previously relied on private wrapper-specific transport and could not be composed through a common public extension point. The middleware pipeline provides a small public seam for custom policies without changing ITaskScheduler.Enqueue or requiring terminal schedulers to understand middleware.

Validation

  • Release build passed for netstandard2.0, net8.0, and net10.0
  • core TaskFlow tests passed: 230 on .NET 8 and 230 on .NET 10
  • dependency-injection tests passed: 15 on each target
  • Microsoft logging tests passed: 5 on each target

Closes #24

@dombrovsky
dombrovsky marked this pull request as ready for review August 17, 2026 01:38
@dombrovsky
dombrovsky merged commit 11b0d76 into main Aug 17, 2026
3 of 5 checks passed
@dombrovsky
dombrovsky deleted the feature/24-middleware-pipeline branch August 17, 2026 01:39
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.

Design and introduce an extensible task scheduler middleware pipeline

1 participant