2.0.3 • Published 6 years ago
v-daemon v2.0.3
v-daemon
Daemon script for v-spot-client
Installation
$ npm install v-daemon -g
Usage
Step01: Create script file to run. File basename will be the subject id
/home/scripts/v/jp.realglobe.v-daemon.example01
#!/usr/bin/env node
/**
* @file Example script to daemonize
*/
'use strict'
// verb and object passed as process args
const [, , subject, verb, object1, object2] = process.argv
switch (verb) {
case 'sayHi': {
process.stdout.write(`Hi, ${object1} and ${object2}`)
break
}
default:
throw new Error(`Unknown verb: ${verb}`)
}
Step02: Daemonize the script
#!/bin/bash
# Give script path to daemonize
v-daemon /home/scripts/v/jp.realglobe.v-daemon.example01 -H "v-spot.cloud.com"
Step03: Call it from another client
#!/usr/bin/env node
/**
* Example to call daemonized script
*/
'use strict'
const vSpot = require('v-spot')
;(async () => {
const spot = vSpot().client()
await spot.connect('v-spot.cloud.com')
// By default, subject name is generated from script name
const example01 = await spot.use('jp.realglobe.v-daemon.example01')
// Send the signal to daemon script via server
await example01.sayHi('can you hear me?', 'really?')
})()
More Script Examples
Bash Script Example
#!/bin/bash
#
subject=$1
verb=$2
object1=$3
object2=$4
if [[ ${verb} == *"sayHi"* ]]
then
printf "Hi, ${object1} and ${object2}"
exit
fi
echo "Unknown verb ${verb}"
exit 1
CLI Help
Usage: v-daemon [options] <filename ...>
Daemon script for v-spot-client
Options:
-V, --version output the version number
-H, --hostname [hostname] List available tasks
-p, --port [port] Port number
-P, --protocol [protocol] Protocol
-c, --connector [connector] connection type
-i, --id [id] Subject ID
-q, --quiet [quiet] No messages
-v, --verbose [verbose] Show verbose log
-h, --help output usage information
API Guide
License
This software is released under the MIT License.
Links
2.0.3
6 years ago
2.0.2
6 years ago
2.0.1
6 years ago
2.0.0
6 years ago
1.2.5
6 years ago
1.2.4
6 years ago
1.2.3
6 years ago
1.2.2
6 years ago
1.2.1
6 years ago
1.2.0
6 years ago
1.1.6
6 years ago
1.1.5
6 years ago
1.1.4
6 years ago
1.1.3
6 years ago
1.1.2
6 years ago
1.1.1
6 years ago
1.1.0
6 years ago
1.0.2
6 years ago
1.0.1
6 years ago
1.0.0
6 years ago