@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.

Readme

Keywords

Package Sidebar

Install

npm i @heroku/worker-monitor

Weekly Downloads

0

Version

1.0.0

License

MIT

Last publish

Collaborators