Product
Socket Now Supports uv.lock Files
Socket now supports uv.lock files to ensure consistent, secure dependency resolution for Python projects and enhance supply chain security.
@middy/warmup
Advanced tools
Warmup (cold start mitigation) middleware for the middy framework
Warmup middleware for the middy framework, the stylish Node.js middleware engine for AWS Lambda
Warmup middleware that helps to reduce the cold-start issue. Compatible by default with serverless-plugin-warmup
, but it can be configured to suit your implementation.
This middleware allows you to specify a schedule to keep Lambdas that always need to be very responsive warmed-up. It does this by regularly invoking the Lambda, but will terminate early to avoid the actual handler logic from being run.
If you use serverless-plugin-warmup
the scheduling part is done by the plugin and you just have to attach the middleware to your "middyfied" handler. If you don't want to use the plugin you have to create the schedule yourself and define the isWarmingUp
function to define wether the current event is a warmup event or an actual business logic execution.
To install this middleware you can use NPM:
npm install --save @middy/warmup
isWarmingUp
: a function that accepts the event
object as a parameter
and returns true
if the current event is a warmup event and false
if it's a regular execution. The default function will check if the event
object has a source
property set to serverless-plugin-warmup
.onWarmup
: a function that gets executed before the handler exits in case of warmup. By default the function just prints: Exiting early via warmup Middleware
.waitForEmptyEventLoop
: a boolean value (null
by default), that if set will change the current value for context.callbackWaitsForEmptyEventLoop
. In some circumstances it might be useful to force this value to be false
to make sure that the lambda quits as early as possible in case of warmup (for instance if you have created a database connection in a previous middleware, this might be hanging and keeping you lambda active until timeout).const middy = require('@middy/core')
const warmup = require('@middy/warmup')
const isWarmingUp = (event) => event.isWarmingUp === true
const onWarmup = (event) => console.log('I am just warming up', event)
const originalHandler = (event, context, cb) => {
/* ... */
}
const handler = middy(originalHandler)
.use(warmup({
isWarmingUp,
onWarmup
}))
For more documentation and examples, refers to the main Middy monorepo on GitHub or Middy official website.
Everyone is very welcome to contribute to this repository. Feel free to raise issues or to submit Pull Requests.
Licensed under MIT License. Copyright (c) 2017-2018 Luciano Mammino and the Middy team.
FAQs
Warmup (cold start mitigation) middleware for the middy framework
The npm package @middy/warmup receives a total of 4,122 weekly downloads. As such, @middy/warmup popularity was classified as popular.
We found that @middy/warmup demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Socket now supports uv.lock files to ensure consistent, secure dependency resolution for Python projects and enhance supply chain security.
Research
Security News
Socket researchers have discovered multiple malicious npm packages targeting Solana private keys, abusing Gmail to exfiltrate the data and drain Solana wallets.
Security News
PEP 770 proposes adding SBOM support to Python packages to improve transparency and catch hidden non-Python dependencies that security tools often miss.