Skip to content

Instantly share code, notes, and snippets.

@jugglinmike
Created October 27, 2012 23:26
Show Gist options
  • Save jugglinmike/3966829 to your computer and use it in GitHub Desktop.
Save jugglinmike/3966829 to your computer and use it in GitHub Desktop.
Socket.io - Cluster Test Script
var cluster = require("cluster");
var os = require("os");
var numCPUs = os.cpus().length;
if (cluster.isMaster) {
// Fork workers.
for (var i = 0; i < numCPUs; i++) {
cluster.fork();
}
return;
}
var http = require("http");
// Server name and port. Reference environmental variables when they are set,
// and fall back to sensible defaults.
var serviceLocation = {
portNumber: process.env.NODE_PORT || 8000,
hostName: process.env.NODE_HOST || "127.0.0.1"
};
var httpServer = http.createServer();
httpServer.listen(serviceLocation.portNumber, serviceLocation.hostName);
var socketIo = require("socket.io");
var redis = require("redis");
var socketServer = socketIo.listen(httpServer);
socketServer.set("store", new socketIo.RedisStore({
redisPub: redis.createClient(),
redisSub: redis.createClient(),
redisClient: redis.createClient()
}));
setInterval(function() {
var clients = socketServer.sockets.clients();
console.log(clients.map(function(client) {return client.id}));
}, 1000);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment