Workflow Versioning

# Update a running workflow

If you update a workflow implementation while some instances are running it will trigger a ModifiedDeciderError for those instances. This is because Zenaton has currently no way to know how to continue the execution of an already running workflow when it's implementation has changed.

It is easy to update a workflow as described below, but keep in mind those updates will apply only to new instances.

# Update new instances of a workflow

Let's assume we currently have a "MyWorkflow" workflow. As we will have different versions running at the same time, we MUST version our sources. This is how to do it:

  • rename our existing workflow "MyWorkflow" to "MyWorkflow_v0"
  • create a new version "MyWorkflow_v1"

Then you can create another version "MyWorkflow_v2" and so on.

Removing Unused Versions

A workflow version can be removed as long as there are no instances running with that version number. Check the dashboard to see which versions are still in use.

You do NOT have to change the implementation from your app that will continue to use "MyWorkflow" name. When dispatching a new workflow, the last version will be used.