Idea: allow orchestration function to emit strings, which are recorded in the event stream of the execution, e.g.
context.EmitProgress("going-nicely");
The response from the status end-point would include the most recently emitted string:
{
"runtimeStatus": "Running",
"input": {},
"createdTime": "2017-11-22T15:18:03Z",
"lastUpdatedTime": "2017-11-22T15:19:07Z",
"progress": "going-nicely" <---
}
This would be useful for clients that want to observe the progress of the overall operation during its execution. So I can launch a function, poll the status end-point and display a progress UI that knows which stage the execution has reached so far. It would be up to the app author to decide on a string format.
Thanks for the suggestion. This is a nice idea that I've been thinking about. The Durable Task Framework does have a "status" concept which allows orchestrator logic to expose it's status. I think I just need to think about how to properly expose it.
Very good added value to the framework in my view, currently if I want to provide progression like that I am currently forced to manage it on the side. I came here to raise that exact same suggestion for the exact same need :-)
A simple SetProgress on the DurableOrchestrationContext would do the trick for me.
This feature has been merged into the dev branch and will go out with the next release. See the description in the linked PR for more details.
Most helpful comment
Thanks for the suggestion. This is a nice idea that I've been thinking about. The Durable Task Framework does have a "status" concept which allows orchestrator logic to expose it's status. I think I just need to think about how to properly expose it.