I have a lambda function and the SQS is the trigger, we can setup batch windows as batch size.
Lets say window – 20 (seconds)
Size -30
Then the lambda will invoke after every 20 seconds or whenever it has 30 messages in the queue.
One problem im trying to solve is, lets say I have 20 messages. After 20 seconds lambda will process all the messages but the invocation is not one, they do 5 parallel executions per batch.
Im trying to process all of them at once. Not 5 invocation. (5 is the default minimum setting and not possible to change). I want to process all the messages in that invocation at one shot, don’t want to do multiple invocations.
FIFO can be good, but I need time based poll invocation.