A library for writing long-running persistent workflows in C# using async/await.
Durable Task Framework is a C# library for building long-running, persistent workflows called orchestrations using async/await patterns. It solves the problem of managing stateful, complex business processes that need to survive process restarts and failures. The framework provides primitives for reliable execution across distributed systems.
C# developers and teams building enterprise applications, microservices, or backend systems that require durable, stateful workflow orchestration, especially those already invested in the Azure ecosystem.
Developers choose Durable Task Framework for its mature, production-proven approach to workflow orchestration using familiar C# async/await syntax. It offers flexibility through multiple extensible persistence backends and is actively maintained by the community, including Microsoft engineering teams.
Durable Task Framework allows users to write long running persistent workflows in C# using the async/await capabilities.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Allows writing complex orchestrations using standard C# async/await patterns, making long-running workflows intuitive for C# developers without learning a new DSL.
Supports multiple production-ready persistence options like Azure Storage, SQL Server, and Netherite via separate NuGet packages, offering flexibility for different performance and dependency needs.
Actively used in production by many teams, including Microsoft engineering, ensuring a mature and battle-tested framework for critical, stateful workflows.
Includes an in-memory emulator backend for development and testing without external Azure dependencies, facilitating faster iteration and debugging cycles.
As a community-maintained project, it lacks official support channels, meaning bugs and issues are addressed on a best-effort basis without SLAs or guaranteed fixes.
Requires teams to handle hosting, scaling, and operational monitoring themselves, adding complexity and overhead compared to managed alternatives like Durable Functions.
Some persistence providers, such as DurableTask.ServiceBus, are no longer actively developed, potentially leading to security vulnerabilities and compatibility issues over time.
Documentation is scattered across external blogs, samples, and videos not owned by Microsoft, making it challenging to find comprehensive, up-to-date guidance for troubleshooting and best practices.