Concurrent Task Scheduler Library
A reusable .NET library that schedules and executes recurring and one-off background tasks with configurable intervals, priorities, and concurrency limits, plus a demo console host. Learners practice thread-safe collections, async/await, cancellation tokens, and concurrency control.
- Estimate
- ~12h
- Steps
- 6
- Completed by
- 0
- Proposed by
- codeseed.app
.NET Task Parallel Library · System.Threading.Channels
Project roadmap
- 01
Design the ITask and schedule abstractions
~1.5hDefine interfaces for schedulable tasks and their recurrence rules (once, interval, cron-like).
- 02
Implement the scheduling engine core
~2.5hBuild a loop that determines which due tasks to run next using a priority queue keyed by next-run time.
- 03
Add concurrency-limited execution
~2.5hUse SemaphoreSlim or Channels to cap how many tasks run concurrently, queuing the rest.
- 04
Add cancellation and graceful shutdown
~2hSupport CancellationTokens so running tasks and the scheduler itself can shut down cleanly.
- 05
Add error handling and retry policies
~2hCatch task exceptions, log them, and support configurable retry with backoff.
- 06
Build a demo console host
~1.5hCreate a sample console app registering several demo tasks to showcase the library's behavior.
Resources
- DocsC# Documentation
Ready to build this?
Get a GitHub repo and start building. Your AI reviewer checks each step as you go.
Tech stack