npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@thundra/warmup

v1.1.2

Published

Thundra Lambda Warmup Wrapper

Downloads

526

Readme

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!");
});

And disable console.log output.

const thundraWarmup = require("@thundra/warmup");

const thundraWarmupWrapper = thundraWarmup(null, { logEnabled: false });

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.