0.2.6 • Published 11 years ago

rpc-socket v0.2.6

Weekly downloads
62
License
-
Repository
github
Last release
11 years ago

RPC-Socket

This is a project that I have been working on for a bit. it's still under heavy development but is coming along.

TODO

So a few things i still want to add.

  • Nothing as we speak, I'm still thinking.

Install

A few ways of installing.

NPM

Yeah so to install is real easy.

npm install rpc-socket

or to access the rpc-socket executable install globally:

npm install rpc-socket

GIT

You might want to download and move to a folder of your choise and test it out.

cd /path/to/your/folder
git clone git://github.com/FLYBYME/rpc-socket.git
cd rpc-socket

Basic usage.

Simple child_process.fork()

	var cp = require('child_process');
	var p = require('../lib/protocols/process')
	var numCPUs = require('os').cpus().length;
	
	if(process.send) {
	
		(new p(process)).invoke('test', [3454545], function(err, result) {
			//console.log('Error: ', err)
			//console.log('Result: ', result)
	
		});
	} else {
		var j = 0;
		var callBack = function(err, result) {
			console.log('Error: ', err)
			console.log('Result: ', result);
			if(++j === numCPUs) {
				process.exit(0);
			}
		}
		for(var i = 0; i < numCPUs; i++) {
			(new p(cp.fork(__filename))).expose('test', function(a) {
				this.send('a', a);
			}).invoke('list', [], callBack);
		}
	}

Uses with a cluster.

	var cluster = require('cluster');
	var http = require('http');
	var numCPUs = require('os').cpus().length;
	var p = require('../lib/protocols/process')
	
	var numReqs = 0;
	
	if(cluster.isMaster) {
		// Fork workers.
		for(var i = 0; i < numCPUs; i++) {
	
			(new p(cluster.fork())).expose('numReqs', function(a) {
	
				this.send('numReqs', numReqs++);
			});
		}
	
		setInterval(function() {
			console.log("numReqs =", numReqs);
		}, 1000);
	} else {
	
		var rpc = new p(process);
		// Worker processes have a http server.
		http.Server(function(req, res) {
			res.writeHead(200);
			// Send message to master process
			rpc.invoke('numReqs', [], function(err, result) {
				//console.log('Error: ', err)
				//console.log('Result: ', result);
	
				res.end("hello world!\nOh and numReqs: " + result.numReqs + "\n");
			})
		}).listen(8000);
	}
0.2.6

11 years ago

0.2.5

11 years ago

0.2.4

11 years ago

0.2.3

11 years ago

0.2.2

11 years ago

0.2.1

11 years ago

0.2.0

11 years ago

0.1.0

11 years ago

0.0.9

12 years ago

0.0.8

12 years ago

0.0.7

12 years ago

0.0.6

12 years ago

0.0.5

13 years ago

0.0.3

13 years ago

0.0.2

13 years ago

0.0.1

13 years ago