thundra-warmup-patch

1.1.1 • Public • Published

Thundra Lambda Node.js Warmup Wrapper

Coverage Status CircleCI

Warm up your lambda and reduce cold starts.

Installation

npm install @thundra/warmup --save

Usage

There are three steps to warm up your lambdas.

If you are using Thundra to monitor your lambdas, you can skip step 2.

1. Setup our warmup lambda

You can setup thundra-lambda-warmup manually or using Serverless Framework.

Check out our docs for more information.

Manual setup might sound harder but it is actually more straightforward.

2. Wrap your lambda using this module

const thundraWarmup = require("@thundra/warmup");
 
const thundraWarmupWrapper = thundraWarmup();
 
exports.handler = thundraWarmupWrapper((event, context, callback) => {
    callback(null, "No more cold starts!");
});

Here is an example using ES6+ (see serverless-webpack plugin) and async/await.

import thundraWarmup from "@thundra/warmup";
 
const thundraWarmupWrapper = thundraWarmup();
 
const handler = thundraWarmupWrapper(async event => {
    return await someAsyncCall();
});
 
export { handler };

You can also pass an optional callback function which will be called on warmup requests.

const thundraWarmup = require("@thundra/warmup");
 
const optionalCallback = () => console.log(Warming up...);
 
const thundraWarmupWrapper = thundraWarmup(optionalCallback);
 
exports.handler = thundraWarmupWrapper((event, context, callback) => {
    callback(null, "No more cold starts!");
});

context.succeed, context.fail, context.done are also supported.

const thundraWarmup = require("@thundra/warmup");
 
const thundraWarmupWrapper = thundraWarmup();
 
exports.handler = thundraWarmupWrapper((event, context) => {
    context.succeed("No more cold starts!");
});

3. Enable warming up for your lambda

There are two ways to enable warming up for a specific lambda:

  • set thundra_lambda_warmup_warmupAware environment variable true in your lambda or
  • add your lambda's name to thundra-lambda-warmup's thundra_lambda_warmup_function environment variable.

For more detailed information, check out warmup configuration.

Changelog

Please see the CHANGELOG file.

Package Sidebar

Install

npm i thundra-warmup-patch

Weekly Downloads

1

Version

1.1.1

License

Apache-2.0

Unpacked Size

42.8 kB

Total Files

5

Last publish

Collaborators

  • franciscocpg