Achieving "idle while awaiting external event" behavior of Durable Functions, using DTFx
- 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.