Azure / Azure/durabletask

Achieving "idle while awaiting external event" behavior of Durable Functions, using DTFx

Open
#499 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
C#
Stars
1.7k
Forks
335
Avg merge
2d 23h
Merged PRs (30d)
6

Description

TL/DR:

Given that Durable Function invocations in an Azure consumption plan [incur no resource costs when idling for external events](https://docs.microsoft.com/en-us/azure/azure-functions/durable/durable-functions-billing#awaiting-and-yielding-in-orchestrator-functions), can other code based on DTFx and hosted in a Functions consumption plan (but not itself implemented using Durable Functions) achieve the same effect?

Details:

I'm implementing a declarative state machine library built on DTFx:

https://github.com/jplane/StateChartsDotNet

...and includes a Functions-based hosting model:

https://github.com/jplane/StateChartsDotNet/tree/main/FunctionHost

In my implementation, state machines can wait for external events. I'm using TaskCompletionSource for that:

https://github.com/jplane/StateChartsDotNet/blob/main/DurableEngine/ExternalMessageQueue.cs

What else (if anything) is needed to achieve the "idle at zero" behavior of Durable Functions in a consumption plan?

Thanks for any pointers or help!

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.