Created
April 29, 2014 22:22
-
-
Save kfatehi/5b03fe54399a4a2565a7 to your computer and use it in GitHub Desktop.
example of using cluster, domain, memwatch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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