Open jundayin opened 2 years ago
Would like to know is this feature on road map?
Which feature are you referring to, specifically? The SQL provider issue will be worked on, but I don't think that will help you share data between orchestrations and activities beyond what is already supported today (inputs & outputs).
@cgillum In DurtableTask.Core
there is a public API
Task<OrchestrationInstance> CreateOrchestrationInstanceAsync(string name, string version, string instanceId, object input, IDictionary<string, string> tags)
which allows dev create orchestration event with tags data.
In SQL Provider tag is always stored null. (Code). It may not be directly support sharing data between orchestrations and activities but if the tag is available we can do something upon it. AFAIK some projects already utilize the tag as well as the ExtensionData
field in OrchestrationInstance
to convey the data across orchestrations and activities. https://github.com/jviau/durabletask-hosting/blob/master/samples/DurableTask.Samples/SessionData/OrchestrationInstanceEx.cs . But this one is yet achievable by SQL Provider
Thanks for the pointer - I haven't seen this pattern of sharing arbitrary metadata before. Unfortunately, it's a bit of a hack and this approach of extending OrchestrationInstance through ExtensionData won't work for the SQL provider because the SQL provider doesn't use serialization to construct or persist these objects. It will probably work fine for the Azure Storage and Service Bus providers, though. I think the best way to make this work consistently for all providers is to come up with a new feature/protocol for sharing ambient data.
I see. So it needs more discussion and it may not be on the table in short term, right? Just to confirm so that I can close the option inside my team and we will go for input/output approach
Correct - more discussion will be needed, and there aren't any short-term options available, unfortunately.
Brought up here for more visibility. https://github.com/microsoft/durabletask-mssql/issues/61
Currently SQL Provider seems does not support storing orchestration tag data. Right now we want to have some data to be shared among the orchestration to activity but we can only make it passed through input and output arguments one by one which is not error prone.
Would like to know is this feature on road map?