mirror of
https://github.com/openstf/stf
synced 2025-10-03 09:49:17 +02:00
50 lines
1.3 KiB
JavaScript
50 lines
1.3 KiB
JavaScript
module.exports.command = 'reaper [name]'
|
|
|
|
module.exports.describe = 'Start a reaper unit.'
|
|
|
|
module.exports.builder = function(yargs) {
|
|
var os = require('os')
|
|
|
|
return yargs
|
|
.env('STF_REAPER')
|
|
.strict()
|
|
.option('connect-push', {
|
|
alias: 'p'
|
|
, describe: 'Device-side ZeroMQ PULL endpoint to connect to.'
|
|
, array: true
|
|
, demand: true
|
|
})
|
|
.option('connect-sub', {
|
|
alias: 's'
|
|
, describe: 'App-side ZeroMQ PUB endpoint to connect to.'
|
|
, array: true
|
|
, demand: true
|
|
})
|
|
.option('heartbeat-timeout', {
|
|
alias: 't'
|
|
, describe: 'Consider devices with heartbeat older than the timeout ' +
|
|
'value dead. Given in milliseconds.'
|
|
, type: 'number'
|
|
, default: 30000
|
|
})
|
|
.option('name', {
|
|
describe: 'An easily identifiable name for log output.'
|
|
, type: 'string'
|
|
, default: os.hostname()
|
|
})
|
|
.epilog('Each option can be be overwritten with an environment variable ' +
|
|
'by converting the option to uppercase, replacing dashes with ' +
|
|
'underscores and prefixing it with `STF_REAPER_` (e.g. ' +
|
|
'`STF_REAPER_CONNECT_PUSH`).')
|
|
}
|
|
|
|
module.exports.handler = function(argv) {
|
|
return require('../../units/reaper')({
|
|
name: argv.name
|
|
, heartbeatTimeout: argv.heartbeatTimeout
|
|
, endpoints: {
|
|
push: argv.connectPush
|
|
, sub: argv.connectSub
|
|
}
|
|
})
|
|
}
|