Skip to content

Instantly share code, notes, and snippets.

@kfatehi
Created April 29, 2014 22:22
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kfatehi/5b03fe54399a4a2565a7 to your computer and use it in GitHub Desktop.
Save kfatehi/5b03fe54399a4a2565a7 to your computer and use it in GitHub Desktop.
example of using cluster, domain, memwatch
var token = process.env.NOS_TOKEN;
var relayServer = process.env.RELAY_SERVER;
if (!token) { throw new Error("missing environment variable NOS_TOKEN"); }
if (!relayServer) { throw new Error("missing environment variable RELAY_SERVER"); }
(function() {
"use strict";
var config = {
relayServer: relayServer,
token: token
};
var cluster = require('cluster');
if (cluster.isMaster) {
// Only need one worker
cluster.fork();
cluster.on('disconnect', function(worker) {
console.error("disconnect!");
cluster.fork();
});
} else {
// the worker
try {
var memwatch = require('memwatch');
memwatch.on('leak', function(info) {
console.log("leak", info);
});
console.log("Watching for memory leaks");
} catch (e) {
console.log("Not watching for memory leaks -- npm install memwatch to do so");
}
console.log("Connecting using configuration: ", config);
var Worker = require('./src/worker.js'),
worker = new Worker(config);
worker.connect();
}
})();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment