Draft proposal for "Laguna Gold" - Lightweight SDKs #329
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Just checkpointing my hackathon prototype. Given the changes in the DF layer (Azure/azure-functions-durable-extension#1963), an OOProc SDK now has a lot less work to do. In short, we can safely remove most of the TaskOrchestrationExecutor and replace it with about ~50 lines of code with simple logic.
Essentially, we run the user code until a task is yielded. That task is then looked-up in the extension's "tasks" payload and, if found, the task in the SDK is assigned a value and the replay continues. If not found, we can return. Super simple :-)
The most important takeaway is that having the task state communicate by the extension removes the need to have so much DF domain knowledge in order to implement and maintain a DF SDK.
This is by no means "clean code" nor an optimal way to implement this. I'm mostly creating this PR for communication and visibility purposes.