Simple workflow
Step IDs
By default, each step is enumerated with a numerical step ID incrementing by 10. This allows custom steps to be inserted later using a specific ID.
Nevertheless, the most stable approach is to assign custom ids
to each step. If the workflow is refactored or any step is moved, using a custom ID will keep the workflow stable and refactoring safe.
Removing workflow steps should be done with a rolling installation:
- First, remove any function from the step by using a noop:
s -> {}
- Later, remove the step entirely once any active workflows are completed and will not be retriggered
Transactions
By default any step is assumed to be transactional. If a steps does any remote calls etc. it the transaction should be turned off.
Info
The state will not be saved in case of an exception. Each retry will have the same state as before.
Retry strategy
It is used for each step and defines how each step in a workflow is retried in case it failed.