leanser
leanser copied to clipboard
AWS Lambda Cleaner - Cleanup resources on AWS Lambda container shutdown (timeout and/or spin-down)
leanser
AWS Lambda Cleaner - Cleanup resources on AWS Lambda container shutdown (timeout and/or spin-down).
:warning: You have
500 millisecondsto complete all of your callbacks before function shutdown.
Installation
You can add leanser package into your AWS Lambda function either by NPM package or by AWS Lambda layer as shown below:
By NPM package
To install the middleware, you can use NPM:
npm install --save leanser
By AWS Lambda Layer
You can also add leanser as layer into your AWS Lambda function.
arn:aws:lambda:${region}:273094347961:layer:leanser:${layer-version}
Latest layer version: (badge powered by Globadge serverless)
Note: In the ARN above, you need to replace ${region} with the actual AWS region you deployed your AWS Lambda function.
Usage
const { register } = require('leanser');
async function myCleaner() {
// Run your custom cleanup logic (close connections, etc ...)
};
async function myAnotherCleaner() {
// Run your another custom cleanup logic (close connections, etc ...)
};
register(myCleaner, myAnotherCleaner);
exports.handler = async function(event, context) {
// Do something meaningful
return {
statusCode: 200,
}
};
Configuration
-
Optionally, you can disable/enable cleaner.
- By environment variable:
Set
LEANSER_ENABLEenvironment variable tofalseto disable cleaner or totrue(which is default) to enable cleaner back.
LEANSER_ENABLE=false - By environment variable:
Set
Contributing
Everyone is very welcome to contribute to this repository. Feel free to raise issues or to submit Pull Requests.
License
Licensed under MIT License.