Comment by KraftyOne
The state can be stored in any Postgres instance, either locally or in any cloud.
For code, here's the bare minimum code example for a workflow:
class Example {
@DBOS.step()
static async step_one() {
...
}
@DBOS.step()
static async step_two() {
...
}
@DBOS.workflow()
static async workflow() {
await Example.step_one()
await Example.step_two()
}
}
The steps can be any TypeScript function.Then we have a bunch more examples in our docs: https://docs.dbos.dev/.
Or if you want to try it yourself download a template:
npx @dbos-inc/create
Are there any constraints around which functions can be turned into steps? I assume their state (arguments?) need to be serializable?
Also, what happens with versioning? What if I want to deploy new code?