boss-local
v2.0.11
Published
Starts or connects to the boss daemon on the local computer
Downloads
20
Readme
boss-local
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
...
})