Start from the Use-case
SQS allows visibility timeout up to 12 hours.
To achieve this I need to set the worker timeout to 2 hours so lift can calculate 6 * 2 = 12 hours. But I want my lambda to time out after a few seconds not 2 hours, wait 12 hours and try again.
Example Config
From the docs:
constructs:
my-queue:
# ...
worker:
handler: src/worker.handler
memorySize: 512
timeout: 10
Implementation Idea
Add an attribute called queueTimeout which overrides the default 6 * worker timeout behaviour