Execution guarantees - AWS Step Functions

Execution guarantees

Standard Workflows Asynchronous Express Workflows Synchronous Express Workflows
Exactly-once workflow execution At-least-once workflow execution At-most-once workflow execution
The execution state is internally persisted on every state transition. To guarantee that only one workflow with the same name can run, Step Functions will return an idempotent response when you start a Standard Workflow with the same name as an already running workflow. In this case, Step Functions will not start a new workflow. When the workflow completes, Step Functions will respond with an exception. After 90 days, the workflow data will be removed, and the name can then be reused. No internally persisted state for workflow progress. If you attempt to start an Express Workflow with the same name more than once, each attempt causes a workflow to start concurrently. In rare cases, the internal state of a workflow can be lost, and the workflow will be automatically restarted from beginning. You should ensure your state machine logic is idempotent and should not be affected adversely by multiple concurrent executions of the same input. After a workflow starts, Step Functions will wait and returns the result as part of the API response. If service exceptions occur, Step Functions will not restart from the beginning. You should ensure your state machine logic is idempotent and should not be affected adversely by multiple concurrent executions of the same input.