JamesRandall / FunctionMonkey

Write more elegant Azure Functions with less boilerplate, more consistency, and support for REST APIs. Docs can be found at https://functionmonkey.azurefromthetrenches.com
MIT License
294 stars 50 forks source link

Add support for the Durable Functions Orchestration Client. #44

Open JamesRandall opened 5 years ago

JamesRandall commented 5 years ago

Explore along with a strategy for durable functions in general.

rameshjanjyam commented 5 years ago

Hi.. I am planning to use durable functions and couldn't find a way to use the servicecollection that is built in functionappconfiguration class inside the durable function. is it possible?

joaoantunes commented 5 years ago

Hi, I will use durable functions on a project to make function chaining, async flows & monitor (timeouts). For what I see there is no support for all the durable functions concepts right? ActivityFunction, Orchestration, Contexts, Clients, etc,

For now, I see that we will need: 1- Start a new orchestration (from an Http Trigger function) - DurableOrchestrationClient 2- Implement the orchestration flow - using the DurableOrchestrationContext 3- Implement different Activity triggers - we will need the input pass by the Orchestration 4- Resume the orchestration from an Http Trigger

I know that abstract all these concepts in FunctionMonkey, it will take some time since for now is not possible to have them what do you advise if we want to have both Durable functions & FunctionMonkey?

Solution A:

Solution B:

Solution C:

Any suggestion each approach should I use A, B, C (or another one)?

I think the approach B would be the best commitment, but to do that, I would need to have functionalities that don't exist on function monkey. I would like to help to develop them if you are interested, and hope my IT skills would be enough :)