NOTE: You will be required to have PROFILE
and STATE_MACHINE_ARN
set in your environment variables for the below to work. Alternatively set them as part of the oneliner.
The blow will query AWS for all RUNNING
executions of your state-machine, then loop through each one sending a stop request. This will terminate the function in whatever state it happens to be in. This will NOT stop external work that has already been invoked. If you run into errors with the below, not that it is trying to run the stop command in parallel, so a smaller parallelism number may be appropriate for your use case.
$ aws --profile ${PROFILE} stepfunctions list-executions --state-machine-arn ${STATE_MACHINE_ARN} --status-filter RUNNING | grep executionArn | awk '{print $2}' | sed -e 's/\"//g' | sed -e 's/,//g' | xargs -L 1 -n 1 -P 10 aws --profile ${PROFILE} stepfunctions stop-execution --execution-arn
Thanks! <3