No Packages Misplaced

    @bufferapp/shutdown-helper

    0.2.0 • Public • Published

    @bufferapp/shutdown-helper

    NPM Version Build Status

    Provides a basic helper that listens to the SIGTERM signal and will shutdown the given Express.js server after the given delay in seconds.

    Install

    npm install @bufferapp/shutdown-helper -SE
    

    Usage

    To use with your Express.js app, you'll have to use Node's http package to start your server. Here is a full usage example:

    const http = require('http')
    const express = require('express')
    const shutdownHelper = require('@bufferapp/shutdown-helper')
    const createLogger = require('@bufferapp/logger')
    
    const shutdownDelay = 20 // seconds
    
    const logger = createLogger({ name: 'Images-Worker' })
    const app = express()
    const server = http.createServer(app)
    
    server.listen(8080)
    
    shutdownHelper.init({ server, shutdownDelay, logger })

    The init function takes one argument with the following options:

    • server (http.Server) - An instance of a Node http server
    • shutdownDelay (Integer) - The delay in seconds after which to shut down the http server. Default 20 seconds.
    • logger (@bufferapp/logger) - (optional) - If passed in log messages to @bufferapp/logger otherwise logged to console

    Elsewhere in your application, ideally in a health-check endpoint, you can use the isShutingDown function to check if your application has received a SIGTERM:

    const { isShutingDown } = require('@bufferapp/shutdown-helper')
    
    app.get('/health-check', (req, res) => {
      const code = isShutingDown() ? 500 : 200
      const status = code === 200 ? 'awesome' : 'shutting down'
      res.status(code).json({ status })
    })

    Keywords

    none

    Install

    npm i @bufferapp/shutdown-helper

    DownloadsWeekly Downloads

    201

    Version

    0.2.0

    License

    MIT

    Last publish

    Collaborators

    • egomezd
    • cheahenry
    • jacobchadwell
    • boristroja
    • philippemiguet
    • josemdev
    • msanroman
    • daisymarie128
    • hamstu
    • stevenc81
    • bufferbot
    • albennett
    • mayauribe
    • ssvmvss
    • gomezjuliana
    • esclapes
    • ay8s
    • mickmahady
    • dinostheo
    • hitherejoe
    • dace
    • erickhun
    • kmbriseno
    • hackertronix
    • kiriappeee
    • ethaneisenhard
    • cmunozgar
    • gtangbuffer
    • heatheryou
    • peteremilbuffer
    • arekpn
    • abeeb
    • buffermw
    • gisete