https://github.com/terrierscript/node-process-messenger
https://github.com/terrierscript/node-process-messenger
Last synced: 3 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/terrierscript/node-process-messenger
- Owner: terrierscript
- Created: 2013-03-09T08:21:48.000Z (almost 13 years ago)
- Default Branch: master
- Last Pushed: 2013-05-26T09:50:24.000Z (over 12 years ago)
- Last Synced: 2025-01-31T19:39:59.402Z (about 1 year ago)
- Language: JavaScript
- Size: 140 KB
- Stars: 4
- Watchers: 2
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Process Messenger
Simple wrapper that `child_process`'s messaging node.js
## Documentation
### ProcessaMessenger([process])
* process `process` object. Generally this is result for`child_process.fork`.
Object for process messaging
Constructor get target process object.
In parent process:
```js
var ProcessMessanger = require("process-messenger")
var fork = require("child_process").fork
var child = fork("./sample/child.js")
var pm = new ProcessMessanger(child)
```
And child process
```js
var ProcessMessanger = require("process-messenger")
var pm = new ProcessMessanger()
```
### ProcessMessenger.send(command, [args], [callback])
Send message to target process.
* command - `string`.
* args - `Object`. must serializable.
* callback - `Function`
```js
pm.send("ping", function(result){
console.log("result:"+result);
})
```
If you want parameters. set `args`
```js
pm.send("add",{a: 1, b: 2} function(result){
console.log("result:"+result);
})
```
If you not use callback, can omit callback,
```js
pm.send("kill")
```
### ProcessMessenger.on(command, callback)
Hook event that recive same `command`'s message sending.
* command - `string`. Fire when that is same as other `ProcessMessenger.send`
* callback - `Fucntion(args, done)`. `args` is set `ProcessMessenger.send`'s `args`. default `undefined`. If you want return to sending process, call `done(result)`.
```js
pm.on("add", function(args, done){
done(args.a + args.b)
})
```
### ProcessMessenger.once(command, callback)
Recive message at once. (Basically behabor is same as `ProcessMessenger.on`)