Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including @middy/do-not-wait-for-empty-event-loop with all npm packages installed. Try it out:

require("@middy/core/package.json"); // @middy/core is a peer dependency. var doNotWaitForEmptyEventLoop = require("@middy/do-not-wait-for-empty-event-loop")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

@middy/do-not-wait-for-empty-event-loop v1.1.0

Middleware for the middy framework that allows to easily disable the wait for empty event loop in a Lambda function

Middy do-not-wait-for-empty-event-loop middleware

Middy logo

"Do not wait for empty event loop" middleware for the middy framework, the stylish Node.js middleware engine for AWS Lambda

This middleware sets context.callbackWaitsForEmptyEventLoop property to false. This will prevent Lambda from timing out because of open database connections, etc.

Install

To install this middleware you can use NPM:

npm install --save @middy/do-not-wait-for-empty-event-loop

Options

By default the middleware sets the callbackWaitsForEmptyEventLoop property to false only in the before phase, meaning you can override it in handler to true if needed. You can set it in all steps with the options:

  • runOnBefore (defaults to true) - sets property before running your handler
  • runOnAfter (defaults to false)
  • runOnError (defaults to false)

Sample usage

const middy = require('@middy/core')
const doNotWaitForEmptyEventLoop = require('@middy/do-not-wait-for-empty-event-loop')

const handler = middy((event, context, cb) => {
  cb(null, {})
})

handler.use(doNotWaitForEmptyEventLoop({runOnError: true}))

// When Lambda runs the handler it gets context with callbackWaitsForEmptyEventLoop property set to false

handler(event, context, (_, response) => {
  expect(context.callbackWaitsForEmptyEventLoop).toEqual(false)
})

Middy documentation and examples

For more documentation and examples, refers to the main Middy monorepo on GitHub or Middy official website.

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. Copyright (c) 2017-2018 Luciano Mammino and the Middy team.

FOSSA Status

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free