Skip to content

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

Merged
Estefanía Tenorio (esttenorio) merged 8 commits into
microsoft:mainfrom
esttenorio:estenori/processes-state-management
Oct 28, 2024
Merged

Estefanía Tenorio (esttenorio) merged 8 commits into
microsoft:mainfrom
esttenorio:estenori/processes-state-management

Conversation

@esttenorio

Copy link
Copy Markdown
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

@markwallace-microsoft Mark Wallace (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

@crickman Chris (crickman) left a comment

Copy link
Copy Markdown
Contributor

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.

Merged via the queue into microsoft:main with commit d2696a9 Oct 28, 2024
@esttenorio
Estefanía Tenorio (esttenorio) deleted the estenori/processes-state-management branch October 28, 2024 17:05

This branch was previously deployed

1 inactive deployment
integration — 27d840ae Deployed Oct 26, 2024 by esttenorio
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