C#advancedbackendAI generated

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

  1. 01

    Design the ITask and schedule abstractions

    ~1.5h

    Define interfaces for schedulable tasks and their recurrence rules (once, interval, cron-like).

  2. 02

    Implement the scheduling engine core

    ~2.5h

    Build a loop that determines which due tasks to run next using a priority queue keyed by next-run time.

  3. 03

    Add concurrency-limited execution

    ~2.5h

    Use SemaphoreSlim or Channels to cap how many tasks run concurrently, queuing the rest.

  4. 04

    Add cancellation and graceful shutdown

    ~2h

    Support CancellationTokens so running tasks and the scheduler itself can shut down cleanly.

  5. 05

    Add error handling and retry policies

    ~2h

    Catch task exceptions, log them, and support configurable retry with backoff.

  6. 06

    Build a demo console host

    ~1.5h

    Create a sample console app registering several demo tasks to showcase the library's behavior.

Resources

Ready to build this?

Get a GitHub repo and start building. Your AI reviewer checks each step as you go.

~12h · 6 steps

Tech stack

.NET Task Parallel LibrarySystem.Threading.Channels