Introduction to Dapr 1.7: Workflows

Dapr 1.7 introduces the Workflow building block. It is a direct competitor to Azure Durable Functions but runtime-agnostic.

public class OrderWorkflow : Workflow<OrderPayload, OrderResult>
{
    public override async Task<OrderResult> RunAsync(OrderPayload input)
    {
        await CallActivityAsync("ValidateOrder", input);
        await CallActivityAsync("ProcessPayment", input);
        await CallActivityAsync("ShipOrder", input);
        return new OrderResult { Success = true };
    }
}

The workflow state is durably stored by Dapr, allowing it to resume after crashes.


Discover more from C4: Container, Code, Cloud & Context

Subscribe to get the latest posts sent to your email.

Leave a comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.