Handling Long-Running Tasks in AWS Step Functions with Serverless Functions


When implementing an AWS Step Functions workflow with serverless functions, how can you handle long-running tasks that exceed the maximum execution time limit of AWS Lambda, ensuring the successful completion of the workflow?

1 Answer
Accepted Answer

Hi, there are 2 usual ways:

  1. Lambda max duration of 15 min is insufficient because this lambda does short-duration poll of a process lasting more than 15 min. Then, the Step should schedule the Lambda which return different status to the Step: "complete" or "still running". Then. the Step enters a loop and reschedule other iterations of the lambda until complete.

See https://docs.aws.amazon.com/step-functions/latest/dg/tutorial-create-iterate-pattern-section.html

  1. The process is 1-step in itself and lasts more than 15 min: Step should schedule a container via Fargate and wait for its completion.

See https://docs.aws.amazon.com/step-functions/latest/dg/connect-ecs.html

profile pictureAWS
answered a year ago
profile picture
reviewed a month ago
  • Thank you for your answer! I appreciate your assistance.

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions