@heroku/worker-monitor

    1.0.0 • Public • Published

    worker-monitor

    A module for monitoring the memory usage of Node worker processes, and killing them when they reach a specified limit. This module is designed to be used in conjunction with clusterflock.

    Usage

    Simply require and call worker-monitor for it to begin monitoring worker processes:

    if (require('cluster').isWorker) {
      require('worker-monitor')();
    }

    Options

    The worker-monitor function accepts a few options:

    • disconnectTimeout (Default: 5000) The time after which a disconnecting worker will be immediately killed if it has failed to disconnect.
    • logPeriod (Default: 10000) The frequency with with a worker's memory usage will be logged.
    • monitorPeriod (Default: 5000) The frequency with with a worker's memory is monitored. This is when the worker will be killed if it exceeds memoryLimit.
    • memoryLimit (Default: 220000000) The limit (in bytes) that a worker's RSS may be.

    For example:

    require('worker-monitor')({
      disconnectTimeout: 10000,
      logPeriod        : 5000
    });

    Thanks, Heroku

    While I created and maintain this project, it was done while I was an employee of Heroku on the Human Interfaces Team, and they were kind enough to allow me to open source the work. Heroku is awesome.

    Install

    npm i @heroku/worker-monitor

    DownloadsWeekly Downloads

    1

    Version

    1.0.0

    License

    MIT

    Last publish

    Collaborators