Comment by peterkelly
Comment by peterkelly 2 days ago
How do you persist execution state? Does it hook into the Python interpreter to capture referenced variables/data structures etc, so they are available when the state needs to be restored?
Comment by peterkelly 2 days ago
How do you persist execution state? Does it hook into the Python interpreter to capture referenced variables/data structures etc, so they are available when the state needs to be restored?
All of this seems it would fit any transactional key value structure.
That work is done by the decorators! They wrap around your functions and store the execution state of your workflows in Postgres, specifically:
- Which workflows are executing
- What their inputs were
- Which steps have completed
- What their outputs were
Here's a reference for the Postgres tables DBOS uses to manage that state: https://docs.dbos.dev/explanations/system-tables