boss-local

2.0.11 • Public • Published

boss-local

Discuss Build Status Dependency Status Coverage Status

A interface to an instance of boss running on the same host.

Usage

Local boss instance (e.g. on the same server). If the daemon cannot be reached it will be started.

N.b. the daemon will drop to the user account specified in the config file so please ensure you have sufficient privileges to do this.

var connect = require('boss-local').connect,
  config = {
    boss: {
      rundir: '/var/run/boss',
      logdir: '/var/log/boss',
      timeout: 10000
    },
    debug: {
      daemon: false,
      cluster: false
    }
  }
 
connect(config, function(error, boss) {
  // we are now connected to local boss instance
 
  boss.listProcesses(function(error, processes) {
    // do something
 
    // close connection
    boss.disconnect()
  })
})

N.b. If you fail to close the connection to the daemon, your program will probably not exit.

Is Boss running?

Sometimes you don't want to start the daemon, you'd just like to know if boss is running on the current host or not.

var running = require('boss-local').running
  config = {
      boss: {
        rundir: '/var/run/boss',
        logdir: '/var/log/boss',
        timeout: 10000
      },
      debug: {
        daemon: false,
        cluster: false
      }
    }
 
running(config, function(isRunning) {
  if(isRunning) {
    console.info('boss is running')
  } else {
    console.info('boss is not running')
  }
}

Logging

By default boss will log messages to the console. If you wish to pass these somewhere else (or ignore them entirely, pass an additional object in to the connect function with four properties - info, warn, error, debug.

var connect = require('boss-local').connect,
  config = {
    boss: {
    rundir: '/var/run/boss',
    logdir: '/var/log/boss',
    timeout: 10000
  },
  debug: {
    daemon: false,
    cluster: false
  },
  logger = {
    info: function() {},
    warn: function() {},
    error: function() {},
    debug: function() {}
  }
 
connect(config, logger, function(error, boss) {
  // we are now connected to the boss instance
  ...
})

If you are making lots of connections, for convenience you may wish to bind these arguments to the function:

var connect = require('boss-local').connect,
  connect = connect.bind(null, {
    boss: {
      rundir: '/var/run/boss',
      logdir: '/var/log/boss',
      timeout: 10000
    },
    debug: {
      daemon: false,
      cluster: false
    }
  }, {
     info: function() {},
     warn: function() {},
     error: function() {},
     debug: function() {}
    }
  )
 
connect(function(error, boss) {
  // we are now connected to the boss instance
  ...
})
 

Documentation

  1. Methods
  2. Events

Readme

Keywords

none

Package Sidebar

Install

npm i boss-local

Weekly Downloads

39

Version

2.0.11

License

none

Last publish

Collaborators

  • achingbrain