Skip to content

.Net Processes: State Management in Processes Part 1 #9424

Merged
esttenorio merged 8 commits intomicrosoft:mainfrom
esttenorio:estenori/processes-state-management
Oct 28, 2024
Merged

.Net Processes: State Management in Processes Part 1 #9424
esttenorio merged 8 commits intomicrosoft:mainfrom
esttenorio:estenori/processes-state-management

Conversation

@esttenorio
Copy link
Contributor

Description

This is the first one of a few PR that address the State Management in SK Processes. Dividing in smaller PRs since feature contain multiple big components.

In this PR

  • SAVE: After running a Process, adding capability to extract process state for stateful processes - works also with nested processes
  • LOAD: from a Process State data structure, loading state to ProcessBuilder before Build() to apply it to Process and use it on runtime. For now only focusing on Step State only, not focusing on exact replica of processes (using same ids)
  • Samples: Adding more samples in Step02_FoodPrep that load existing State from file and use it to run specific food pre processes, also samples on how to save the state

Out of Scope but coming up in future PRs

  • How to deal with processes running that have the same id (processid, stepid)
  • In the future, ProcessStep State will have versions, so if loading an old state to a process with a new state version there is:
    • validation
    • migration strategy placeholder to add custom state migration
  • A new way to create ProcessBuilders so that on save, processTypeIds can be interpreted instead of needing to pass all steps, and edges when loading a ProcessBuilder from file - current DAPR implementation
  • More samples showcasing more complex scenarios

Contribution Checklist

@esttenorio esttenorio requested a review from a team as a code owner October 24, 2024 18:27
@markwallace-microsoft markwallace-microsoft added the .NET Issue or Pull requests regarding .NET code label Oct 24, 2024
@github-actions github-actions bot changed the title .net Processes: State Management in Processes Part 1 .Net Processes: State Management in Processes Part 1 Oct 24, 2024
Copy link
Contributor

@crickman crickman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like this as an initial step. This is super complicated space to address, to incremental assertions make sense. I'm wondering how this affects the map-step work? I look forward to merging to this to force evaluation ahead of time for serializing map-step.

@crickman crickman self-requested a review October 28, 2024 16:24
@esttenorio esttenorio added this pull request to the merge queue Oct 28, 2024
Merged via the queue into microsoft:main with commit d2696a9 Oct 28, 2024
@esttenorio esttenorio deleted the estenori/processes-state-management branch October 28, 2024 17:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

.NET Issue or Pull requests regarding .NET code processes

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

4 participants